1. 程式人生 > >多執行緒中sleep,yield,wait,join區別和聯絡

多執行緒中sleep,yield,wait,join區別和聯絡

/**
 * 總結:
 * 1.sleep():誰呼叫,誰睡眠,不會釋放物件鎖,執行緒可以同步的,可以使用interrupt()強制中斷睡眠
 * 2.sleep():是Thread類的靜態方法,需要捕獲異常
 * 3.join() 內部呼叫了 wait(),會出讓鎖,而 sleep()會一直保持鎖。join()父執行緒等待子執行緒執行完成後再開始執行.
 * 4.呼叫wait()方法的時候,執行緒會放棄物件鎖,進入等待此物件的等待鎖定池,只有針對此物件呼叫notify()方法後本執行緒才進入物件鎖定池準備
 * 5.yield()yield()方法的作用是放棄當前的CPU資源,將它讓給其他的任務去佔用CPU時間。注意:放棄的時間不確定,可能一會就會重新獲得CPU時間片

 */

java開發,唯有不斷嘗試和持之以恆的總結,沒有捷徑.