1.執行緒狀態
新生狀態->就緒狀態->運行狀態->死亡狀態

注:
1.執行緒死亡后不能重新開啟
2.執行緒阻塞后進入就緒狀態

注:
1.每個執行緒new一個物件后,都有自己的作業空間,一個作業空間匹配一個執行緒
2.進入就緒狀態的四種方法:start方法,阻塞接觸,yield方法,jvm將cpu從本地執行緒切換到其他執行緒
3.進入阻塞狀態的四種原因:sleep,wait,join,io等操作
4.進入死亡狀態的2種原因:代碼執行結束,執行緒強制結束(stop/destory)
2.執行緒方法
1.sleep():
使執行緒停止運行一段時間,將處于阻塞狀態
如果呼叫了sleep方法之后,沒有其他等待執行的行程,這個時候當前執行緒不會馬上回復執行
2.join():
阻塞指定執行緒等到另一個執行緒完成以后再繼續執行
3.yield():
讓當前正在執行執行緒暫停,不是阻塞執行緒,而是將執行緒轉入就緒狀態
呼叫了yield方法之后,如果沒有其他等待執行的執行緒,此時當前執行緒就會馬上恢復執行
4.setDaemon():
可以將指定的執行緒設定程后臺執行緒,守護執行緒
創建用戶執行緒的執行緒結束時,后臺執行緒也隨之消亡
只能在執行緒啟動之前把它設為后臺執行緒
5.setPriority(int newPriority) getPriority():
執行緒的優先級代表的是概率
范圍從1到10,默認為5
6.stop():
不推薦使用
3.執行緒停止
不使用JDK提供的stop()/destory()
提供一個boolean型的終止變數,當這個變數置為false,則終止執行緒運行
例:

4.執行緒暫停
sleep(時間)指定當前執行緒阻塞的毫秒數
sleep存在例外InterruptedException
sleep時間達到后執行緒進入就緒狀態
sleep可以模擬網路延時,倒計時等
每一個物件都有一個鎖,sleep不會釋放鎖
例:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/141406.html
標籤:Java
