簡體   English   中英

Java線程同步中的通知

[英]Notification in Java thread synchronization

當有多個線程處於等待狀態時; 如果我調用notify()而不是調用notifyAll()處於等待狀態的多個線程中將要通知哪個?

那是未定義的行為。 任何人都可以被接走。 JavaDoc

如果有任何線程在此對象上等待,則選擇其中一個喚醒。 選擇是任意的 ,並且可以根據實現情況進行選擇。

是的,這可能導致線程飢餓

Javadoc說:

選擇是任意的,並且可以根據實現情況進行選擇。

當有多個線程處於等待狀態時; 如果我調用notify()而不是調用notifyAll()處於等待狀態的多個線程中將要通知哪個?

盡管已經提到過,Java規范並未定義特定的行為,但我懷疑JDC實現會在特定監視器的WAIT隊列的最前面使用線程。 但是,這不應該依賴。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM