notifyAll()的通知對象包括wait set中的和等待synchronized塊的的么?
老師,我有點疑惑:
????lockObj競爭者有兩種可能是么?
????????①有之前很多不滿足條件的在wait set中的
????????②等待進入synchronized塊的
????當lockObj執行notifyAll()的時候,我覺得①②兩種都用可能的,但是呢,我測試發現只有第②中情況,為什么呢?
老師,我有點疑惑:
????lockObj競爭者有兩種可能是么?
????????①有之前很多不滿足條件的在wait set中的
????????②等待進入synchronized塊的
????當lockObj執行notifyAll()的時候,我覺得①②兩種都用可能的,但是呢,我測試發現只有第②中情況,為什么呢?
2015-01-08
舉報
2015-01-08
在wait set中的對象并不會競爭lockObj。只有當其他線程調用notifyAll后他們才有機會競爭lockObj。
2015-05-01
因為1中的那些線程競爭之后還是沒有滿足條件又被放入wait set中了