更新時間:2023-10-24 來源:黑馬程序員 瀏覽量:
wait() ,wait(long) 和 sleep(long) 的效果都是讓當前線程暫時放棄 CPU 的使用權,進入阻塞狀態(tài),但二者有明顯區(qū)別:
方法歸屬不同
* sleep(long) 是 Thread 的靜態(tài)方法。
* 而 wait(),wait(long) 都是 Object 的成員方法,每個對象都有。
* 醒來時機不同。
* 執(zhí)行 sleep(long) 和 wait(long) 的線程都會在等待相應毫秒后醒來。
* wait(long) 和 wait() 還可以被 notify 喚醒,wait() 如果不喚醒就一直等下去。
* 它們都可以被打斷喚醒。
* 鎖特性不同(重點)。
* wait 方法的調(diào)用必須先獲取 wait 對象的鎖,而 sleep 則無此限制。
* wait 方法執(zhí)行后會釋放對象鎖,允許其它線程獲得該對象鎖(我放棄 cpu,但你們還可以用)。
* 而 sleep 如果在 synchronized 代碼塊中執(zhí)行,并不會釋放對象鎖(我放棄 cpu,你們也用不了)。
【AI設計】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設計連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運營】深圳跨境電商運營畢業(yè)22個工作日,就業(yè)率91%+,最高薪資達13500元
2025-09-19【AI運維】鄭州運維1期就業(yè)班,畢業(yè)14個工作日,班級93%同學已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19【AI大模型開發(fā)-Python】畢業(yè)33個工作日,就業(yè)率已達到94.55%,班均薪資20763元
2025-09-19【AI智能應用開發(fā)-Java】畢業(yè)5個工作日就業(yè)率98.18%,最高薪資 17.5k*13薪,全班平均薪資9244元
2025-09-19