Object提供了三個方法wait(), notify(), notifyAll()線上程之間進行通信,以此來解決線程間執行順序等問題。
wait():釋放目前線程的同步監視控制器,并讓目前線程進入阻塞狀态,直到别的線程發出notify将該線程喚醒。
notify():喚醒在等待控制螢幕的其中一個線程(随機)。隻有目前線程釋放了同步螢幕鎖(調用wait)之後,被喚醒的線程才有機會執行。
notifyAll():與上面notify的差別是同時喚醒多個等待線程。
這裡補一張思想草圖:

定義一個倉庫類、生産者類、消費者類、定義一個測試類來實作線程通信
倉庫類
消費者類
生産者類
測試類