hallo gemeinde
habe ein kleines problem:
ich habe 2 verschiedene objekte von 2 unterschiedlichen klassen. beide kennen sich (objekt refferenz). das einte objekt warted beim befehl "in.read()", "in" ist "bufferedReader". nun möchte ich von ausserhalb, bzw. vom anderen objekt das warten unterbrechen, z.b. mit einer exception.
habe schon probiert mit interrupt(), geht aber nicht. nur wenn das objekt z.b. in einem wait() hängt, aber nicht wenn es in einem in.read() hängt.
hat jemand eine ahnung, wie man dies unterbrechen kann?
schon mal im vorraus besten dank für antworten!
gruss
habe ein kleines problem:
ich habe 2 verschiedene objekte von 2 unterschiedlichen klassen. beide kennen sich (objekt refferenz). das einte objekt warted beim befehl "in.read()", "in" ist "bufferedReader". nun möchte ich von ausserhalb, bzw. vom anderen objekt das warten unterbrechen, z.b. mit einer exception.
habe schon probiert mit interrupt(), geht aber nicht. nur wenn das objekt z.b. in einem wait() hängt, aber nicht wenn es in einem in.read() hängt.
Code:
// Warted so lange, bis etwas vom Client gesendet wird. Job-Ende ist, wenn
// das zeichen EOT ((char) 4) eingelesen wird.
private void readJob(){
try {
job = "";
char c = 0;
do {
c = (char)in.read();
job = job + c;
} while(c!=(char)4);
} catch (IOException e) {
wln ( "Fehler@readJob");
wln ( "Client disconnect (" + e.toString() + ")" );
fault = true;
close();
}
}
hat jemand eine ahnung, wie man dies unterbrechen kann?
schon mal im vorraus besten dank für antworten!
gruss