調用sleep方法會進入計時等待狀態,等時間到了,進入的是就緒狀態,不是運行狀態安全
調用yield方法會先讓別的線程執行,可是不確保真正讓出spa
意思是:我有空,能夠的話,讓大家先執行線程
調用join方法,會等待該線程執行完畢後才執行別的線程設計
通常使用的是interrupt來請求終止線程it
要注意的是:interrupt不會真正中止一個線程,它僅僅是給這個線程發了一個信號告訴它,它應該要結束了(明白這一點很是重要!)class
也就是說:Java設計者其實是想線程本身來終止,經過上面的信號,就能夠判斷處理什麼業務了。yield
具體到底中斷仍是繼續運行,應該由被通知的線程本身處理,這樣就能夠安全地終止線程請求
interrupt線程中斷還有另外兩個方法(檢查該線程是否被中斷):方法
靜態方法interrupted()-->會清除中斷標誌位di
實例方法isInterrupted()-->不會清除中斷標誌位