Auf Thema antworten

das Notify geht immer an den, bei dem es aufgerufen wird.

bsp:

ThreadA:

[code=Java]void doSmth() {

  for(int i = 0; i < 3; i++) {

    try {

      wait();

    } catch (Exception e) {}

    System.out.println(i);

  }

}[/code]

ThreadB:

[code=Java]void doSmthElse() {

  Thread threadA = ...//Erzeuge ThreadA und lasse dort die soSmth()-Methode laufen

  threadA.notify(); // Hierdurch wird der threadA wieder freigegeben und es kommt zur Ausgabe von 0

}[/code]


du musst also notify auf dem Objekt aufrufen, auf dem auch wait aufgerufen wurde.



Oben