H
h4nso
Gast
Hallo,
mein Problem ist so, zwei Threads (Thread1 & Thread2) warten auf ein Thread (Thread3). Thread3 macht ein notifyAll(),
aber nur das erste Thread, das in der wait()-queue ist, macht danach weiter.
Das andere Thread blockt 4 ever!
Weiß jemand an was das liegt oder was ich falsch gemacht haben könnte?
Außerdem habe ich noch zwei Fragen zur Synchronisation!
1.) Was ist der Unterschied zwischen notify() und notifyAll()? Ich habe gedacht alle Objekte, die auf das notify warten werden damit benachrichtigt!
2.) Wenn ein notify() gemacht wird (Thread3) und einer / beide Warte-Threads (Thread1 & Thread2) sind noch nicht in der wait() Methode,
werden diese Threads dann immer im wait() bleiben?
Vielen Dank schon mal im vorraus, ich hoffe ohne Code ist mein Problem verständlich, ansonsten kann ich noch ein kleines Beispiel zusammenstellen.
mein Problem ist so, zwei Threads (Thread1 & Thread2) warten auf ein Thread (Thread3). Thread3 macht ein notifyAll(),
aber nur das erste Thread, das in der wait()-queue ist, macht danach weiter.
Das andere Thread blockt 4 ever!
Weiß jemand an was das liegt oder was ich falsch gemacht haben könnte?
Außerdem habe ich noch zwei Fragen zur Synchronisation!
1.) Was ist der Unterschied zwischen notify() und notifyAll()? Ich habe gedacht alle Objekte, die auf das notify warten werden damit benachrichtigt!
2.) Wenn ein notify() gemacht wird (Thread3) und einer / beide Warte-Threads (Thread1 & Thread2) sind noch nicht in der wait() Methode,
werden diese Threads dann immer im wait() bleiben?
Vielen Dank schon mal im vorraus, ich hoffe ohne Code ist mein Problem verständlich, ansonsten kann ich noch ein kleines Beispiel zusammenstellen.