線程中斷以及線程中斷引起的那些問題

上週寫了一篇多線程的文章,其實更多方面是偏基礎一點的文章,並且也比較大白話,爭取人人都能看的明白,再舉一些常見的例子,能很好的幫助你們理解多線程,文章發表以後我投給了幾個大號和CSDN反應都挺好的,你們表示但願能寫更多這樣的文章,但願再多寫寫線程相關的文章,因此我打算從線程的基礎開始寫起,每週寫那麼兩三篇,你們閒的時候能夠看看,也能夠多吸取一點東西。多線程

另外,但願你們在閱讀完以後能來個互動點贊什麼的,也讓我有點創做的動力,另外說說大家的想法什麼的,我也好寫出更好的文章來,廢話很少說了,咱們開始今天的知識點學習吧!學習

什麼是線程中斷?

在咱們的Java程序中其實有不止一條執行線程,只有當全部的線程都運行結束的時候,這個Java程序纔算運行結束。 官方的話給你描述一下:當全部的非守護線程運行結束時,或者其中一個線程調用了System.exit()方法時,這個Java程序才能運行結束。spa

線程中斷的應用場景

咱們先來舉一個例子,好比咱們如今在下載一個500多M的大片,咱們點擊開始下載,那個這個時候就等於開啓了一個線程去下載咱們的文件,然而這個時候咱們的網速不是很給力,幾十KB的在這跑,做爲一個年輕人我是等不了了,我不下來,那麼這個時候咱們第一個操做就是結束掉這個下載文件的操做,其實更接近程序的來講,這個時候咱們就須要把這個線程給中斷了。線程

39113fb79fb25e3322966a6aaface7be4b3.jpg

咱們接下來寫一下這個下載的代碼,看一下如何中斷一個線程,這裏我已經默認大家已經掌握瞭如何建立一個線程了,這段程序咱們模擬下載,最開始獲取系統時間,而後進入循環每次獲取系統時間,若是時間超過10秒咱們就中斷線程,不在繼續下載,下載速度時每秒1M: blog

相關文章
相關標籤/搜索