Czy ważna jest pozycja wywołania notify ()? (Java)
Załóżmy, że mam następującą sytuację:
synchronized void someMethod() {
...
try {
wait();
}catch(InterruptedException e) {
System.out.println("InterruptedException caught");
}
...
}
i
synchronized void someOtherMethod() {
...
notify();
}
IThread
dostęp pierwszysomeMethod
, wchodzi wwait
i wtedysomeOtherMethod
powiadamia o tym i wraca doRunnable
stan. Czy pozycjanotify()
zadzwonić w sprawie sprawy? Nie zauważyłem żadnych zmian w zachowaniu, nawet gdy ustawiłemnotify()
zadzwoń w różnych pozycjach w metodzie.
Nie powinienemThread
być powiadamiany natychmiast, gdy połączenie donotify()
jest zrobione?