Czy możesz wielokrotnie informować o pobudce tego samego wątku?

Wyobraź sobie, że masz typowy wzór producent-konsument w Javie. Aby być trochę bardziej wydajnym, chcesz użyćnotify() i nienotifyAll() gdy nowy element zostanie dodany do kolejki. Jeśli powiadomią dwa wątki producenta, czy gwarantuje to obudzenie dwóch odrębnych wątków oczekujących? Albo może to być dwanotify()s wystrzelone wkrótce po sobie, powodując, że ten sam wątek comsumer zostanie umieszczony w kolejce do obudzenia dwa razy? Nie mogę znaleźć sekcji, która opisuje, jak to działa. Czy Java ma wewnętrzną atomową operację do budzenia wątków dokładnie raz?

Jeśli czeka tylko jeden comsumer, drugi powiadomienie zostanie utracone, to nie jest problem.

questionAnswers(4)

yourAnswerToTheQuestion