Thread in "Timed_Wait" unterbrechen

08/04/2014 - 00:00 von Detlef Bosau | Report spam
Ich habe hier einen Thread, der (wohl durch sleep()) in TIMED_WAIT
geratem ist. Ich möchte den Thread unterbrechen um hier eine kritische
Region mit wait/notify zu synchronisieren.

Wie mache ich das?
 

Lesen sie die antworten

#1 Manfred Schenk
09/04/2014 - 21:44 | Warnen spam
Detlef Bosau wrote:
Ich habe hier einen Thread, der (wohl durch sleep()) in TIMED_WAIT
geratem ist. Ich möchte den Thread unterbrechen um hier eine kritische
Region mit wait/notify zu synchronisieren.

Wie mache ich das?



Redest du gerade von einem Thread im Java-Sinne oder im Sinne eines
OS-Threads?

Ein Java-Thread der sich in einem sleep befindet kann mit einem
Thread.interrupt aus diesem sleep geholt werden - er wird dann aber eine
InterruptedException auslösen im allgemeinen Fall.

Bei wait/notify sind noch ein paar Fettnàpfchen zu umgehen (Doku zu notify
vs. notifyAll durchlesen). In vielen Fàllen ist es auch sinnvoller auf
"fertige" Lösungen aus dem concurrency package zurückzugreifen um nicht alle
Fehler erst mal selbst zu machen.

cu,
Manfred

| Manfred Schenk | born between RFC638 and RFC640
| |
| | WWW: http://www.ZEROByte.de/

Ähnliche fragen