Hallo,
Ich versuche per Thread.interrupt() einen Thread zu schließen, welcher gerade während der Operation Socket.getInputStream.read() blockiert ist, sprich auf eingehende Daten wartet. In der Beschreibung von interrupt() steht, dass dabei der Socket geschlossen wird, wenn der Thread gerade dort blockiert ist. Wieso funktioniert denn bei mir dann dies nicht?
Bei mir wartet er vergeblich bei join().
In der run()-methode des seperaten Threads:
MfG
Ich versuche per Thread.interrupt() einen Thread zu schließen, welcher gerade während der Operation Socket.getInputStream.read() blockiert ist, sprich auf eingehende Daten wartet. In der Beschreibung von interrupt() steht, dass dabei der Socket geschlossen wird, wenn der Thread gerade dort blockiert ist. Wieso funktioniert denn bei mir dann dies nicht?
Bei mir wartet er vergeblich bei join().
Java:
// wait for the thread to die
thread.interrupt();
try {
thread.join();
} catch (InterruptedException e) {
}
In der run()-methode des seperaten Threads:
Java:
while ((len = socket.getInputStream().read(cBuf)) >= 0) {
........
}
MfG