sleep:讓線程睡眠,期間會出讓cpu,在同步代碼塊中,不會釋放鎖
wait(必須先獲得對應的鎖才能調用):讓線程進
入等待狀態,釋放當前線程持有的鎖資源線程只有在notify 或者notifyAll方法調用后才會被喚醒,然后去爭奪鎖.
join: 線程之間協同方式,使用場景: 線程A必須等待線程B運行完畢后才可以執行,那么就可以在線程A的代碼中加入
ThreadB.join();
yield:讓當前正在運行的線程回到可運行狀態,以允許具有相同優先級的其他線程獲得運行的機
會。因此,使用yield()的目的是讓具有相同優先級的線程之間能夠適當的輪換執行。但是,實際中無法保證
yield達到讓步的目的,因為,讓步的線程可能被線程調度程序再次選中。