Java基礎筆記-第十一記


Java線程四

關於如何停止線程

在以前的JDK版本中Thread類有Stop方法,但該方法已過時

那現在的版本如何停止線程?

只有一種,就是讓run方法結束

開啓多線程運行,運行代碼通常是循環結構,只要控制住循環,就可以讓run方法結束,也就是線程結束


當線程處於wait() 等待狀態,就有可能讀不到標記,線程一直在等待被喚醒,此時線程將不會結束。

當沒有指定的方式讓等待的線程恢復到運行狀態時,這時需要對等待的狀態進行清除

Thread線程類提供了一個方法 interrupt() 方法是強制讓線程恢復到運行狀態中來,這樣就可以讓線程去判斷標記,

由從纔有可能停止run方法,也就是停止線程。


關於停止線程還有另一種方式,那就是守護線程

比如:目前運行的有三個線程,Main 主線程, Thread1 線程1, Thread2 線程2

如果Main主線程執行完成了,這時 Thread1 和 Thread2 線程也就沒有存在的意義時,要都結束

爲了達到這種效果,則可以將 Thread1 和 Thread2 爲守護線程

換句話說,Thread1 和 Thread2 都依賴於 主線程,如果主線程結束,那麼程序結束


使用守護線程的方式是

在Thread1  和 Thread2 線程在啓動時,調用該線程的setDaemon()方法,傳入true 參數,這個就可以將子線程變成守護線程。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章