Java interrupt thread when reading socket

zaharpopov picture zaharpopov · May 29, 2011 · Viewed 23.6k times · Source

Possible Duplicate:
How to terminate a thread blocking on socket IO operation instantly?

I have client run in thread want to read from socket in Java. But while reading, maybe I want to kill the thread. So I interrupt it, but does socket's reading methods throw InterruptedException? I didn't find.

So, how can I nicely ask thread to die while it's blocking on reading socket?

Thanks

Answer

Mohamed Mansour picture Mohamed Mansour · May 29, 2011

It has been answered How to terminate a thread blocking on socket IO operation instantly?

Basically, when you close() the socket, all the associated streams will close, causing all the blocked operations to be unblocked.

Or you can call Thread.interrupt() and it will interrupt the blocking operation causing it to throw the InterruptedException.