什麼是多線程之間通訊?
多線程之間通訊,其實就是多個線程在操作同一個資源。
wait()、notify、notifyAll()方法
wait()、notify()、notifyAll()是三個定義在Object類裏的方法,可以用來控制線程的狀態。
這三個方法最終調用的都是jvm級的native方法。隨着jvm運行平臺的不同可能有些許差異。
如果對象調用了wait方法就會使持有該對象的線程把該對象的控制權交出去,然後處於等待狀態。
如果對象調用了notify方法就會通知某個正在等待這個對象的控制權的線程可以繼續運行。
如果對象調用了notifyAll方法就會通知所有等待這個對象控制權的線程繼續運行。
注意:一定要在線程同步中使用,並且是同一個鎖的資源