Hi,
hab auf die schnelle keine Antwort auf folgende Frage finden können:
* Thread1 und Thread2 haben jeweils einen synchronized Block mit Object X.
* Thread2 betritt regelmäßig den Block und führt eine aufwändigere Operation durch
Wie kann ich sicherstellen, daß Thread1 garantiert drankommt, wenn Thread2 den Block verläßt? Ich bin mir nicht sicher, ob ich das gewünschte Verhalten mit X.notifyAll() erzielen kann. In der Doku steht, daß nur Threads die mittels wait() auf X warten "aufgeweckt" werden. Also ist der Ansatz warscheinlich falsch.
Rahmenbedingungen:
* Thread1 soll auch ohne Zutun von Thread2 arbeiten können
* Thread2 kennt Thread1 nicht
viele Grüße,
Käse
hab auf die schnelle keine Antwort auf folgende Frage finden können:
* Thread1 und Thread2 haben jeweils einen synchronized Block mit Object X.
* Thread2 betritt regelmäßig den Block und führt eine aufwändigere Operation durch
Wie kann ich sicherstellen, daß Thread1 garantiert drankommt, wenn Thread2 den Block verläßt? Ich bin mir nicht sicher, ob ich das gewünschte Verhalten mit X.notifyAll() erzielen kann. In der Doku steht, daß nur Threads die mittels wait() auf X warten "aufgeweckt" werden. Also ist der Ansatz warscheinlich falsch.
Rahmenbedingungen:
* Thread1 soll auch ohne Zutun von Thread2 arbeiten können
* Thread2 kennt Thread1 nicht
viele Grüße,
Käse