天天看點

【狂神數Java】線程停止,線程睡眠

建立狀态 new對象

就緒狀态 start()後就緒,但不意味着立即執行

阻塞狀态 Thread.sleep(),調用sleep、wait或者同步鎖定時,進入阻塞,阻塞結束後,重新就緒,等待cpu排程

運作狀态 cpu排程後,線程開始執行,進入運作狀态

死亡狀态 線程結束,一旦進入死亡,就不能再啟動了

【狂神數Java】線程停止,線程睡眠
【狂神數Java】線程停止,線程睡眠

不推薦使用JDK提供的stop()、destroy()方法。

推薦線程自己停止下來。

建議使用一個标志位進行終止變量,如:當flag=false,則終止線程運作。如:​​龜兔賽跑代碼​​

終止線程例子:

sleep(時間)指定目前線程阻塞的毫秒數;

sleep存在異常 InterruptedException;

sleep時間達到後線程進入就緒狀态;

sleep可以模拟網絡延時,倒計時等;

每一個對象都會有一個鎖,sleep不會釋放鎖。

模拟延時

模拟時鐘