java多線程之停止線程的方法實例代碼詳解
和線程停止相關的三個方法
/* 中斷線程。如果線程被wait(),join(),sleep()等方法阻塞,調(diào)用interrupt()會清除線程中斷狀態(tài),并收到InterruptedException異常。另外interrupt();對于isAlive()返回false的線程不起作用。 */ public void interrupt(); /* 靜態(tài)方法,判斷線程中斷狀態(tài),并且會清除線程的中斷狀態(tài)。所以連續(xù)多次調(diào)用該方法,第二次之后必定返回false。另外,isAlive()用于判斷線程是否處于存活狀態(tài),如果isAlive()返回false,interrupted()也必定返回false。 */ public static boolean interrupted(); /* 判斷線程中斷狀態(tài),但不會清除線程中斷狀態(tài)。另外,isAlive()用于判斷線程是否處于存活狀態(tài),如果isAlive()返回false,interrupted()也必定返回false。 */
public boolean isInterrupted();線程停止的幾種情況:
1: 使用退出標記,run方法執(zhí)行完畢,線程正常退出。
2: 使用stop()方法,已過時的方法,不推薦。
3: 使用interrupt()方法中斷線程。
interrupt()
單獨調(diào)用這個方法并不能中斷線程,只是打了一個中斷狀態(tài)的標記。或者說是將線程狀態(tài)更改為中斷狀態(tài)。
中斷線程可以通過以下幾種方法。
- 在線程內(nèi)部拋出異常。
- 在線程內(nèi)部使用return結束線程。
總結
以上所述是小編給大家介紹的java多線程之停止線程的方法實例代碼詳解,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
相關文章
Spring mvc JSON數(shù)據(jù)交換格式原理解析
這篇文章主要介紹了Spring mvc JSON數(shù)據(jù)交換格式原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-03-03基于SpringBoot服務端表單數(shù)據(jù)校驗的實現(xiàn)方式
這篇文章主要介紹了基于SpringBoot服務端表單數(shù)據(jù)校驗的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10Java實戰(zhàn)玩具商城的前臺與后臺實現(xiàn)流程
讀萬卷書不如行萬里路,只學書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+JSP+SSM+Springboot+Jsp+maven+Mysql實現(xiàn)一個玩具商城系統(tǒng),大家可以在過程中查缺補漏,提升水平2022-01-01