當前位置:
首頁 >
java等待_Java学习:等待唤醒机制
發布時間:2023/12/2
50
豆豆
生活随笔
收集整理的這篇文章主要介紹了
java等待_Java学习:等待唤醒机制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
等待喚醒機制
線程的狀態
- 阻塞狀態:具有cpu的執行資格,等待cpu空閑時執行
- 休眠狀態:放棄cpu的執行資格,cpu空閑,也不執行
等待喚醒案例分析
public static void sleep(Long millis):使用當前正在執行的線程以指定的毫秒數暫停(暫停停止執行).
- 毫秒數結束之后,線程繼續執行
等待喚醒案例:線程之間的通信
- 創建一個顧客線程(消費者):告知老板要包子的中類和數量,調用wait方法,放棄cpu的執行,進入到WAITNG狀態(無限等待)
- 創建一個老板線程(生產者):花了5秒做包子,做好包子之后,調用notify方法,喚醒顧客吃包子
注意:
- 顧客和老板線程必須使用同步代碼塊包裹起來,保證等待和喚醒只能有一個在執行
- 同步使用的鎖對象必須保證唯一
- 只有鎖對象才能調用wait和notify方法
Object類中的方法
void wait()
- 在其他線程調用此對象的notify()方法或notify() 方法前,導致當前線程等待。
void notify()
- 喚醒在此對象監視器上等待的單個線程。
- 會繼續執行wait方法之后的代碼
Object類中wait帶參方法和notify
進入到TimeWaiting(計時等待)有兩種方法
喚醒的方法:
調用wait和notify方法需要注意的細節
總結
以上是生活随笔為你收集整理的java等待_Java学习:等待唤醒机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 班级优化大师如何清空分数
- 下一篇: java构造器_Java构造器就是这么简