Kommt es auf die Position des Aufrufs von notify () an? (Java)
Angenommen, ich habe die folgende Situation:
synchronized void someMethod() {
...
try {
wait();
}catch(InterruptedException e) {
System.out.println("InterruptedException caught");
}
...
}
und
synchronized void someOtherMethod() {
...
notify();
}
Und dasThread
greift zuerst zusomeMethod
, gehört inwait
und dannsomeOtherMethod
benachrichtigt es und kehrt zu zurückRunnable
Zustand. Hat die Position dernotify()
Aufruf in der Methodensache? Ich bemerkte keine Verhaltensänderung, auch wenn ich die positioniertenotify()
Aufruf an verschiedenen Stellen innerhalb der Methode.
Sollte das nichtThread
Sofort benachrichtigt werden, wenn der Anruf annotify()
ist gemacht?