I am really wondered how to interrupt a thread which is blocked by some I/O operation? The I/O is through a socket, and I do not want to `close()` the socket.

I tried using `Thread.interrupt()` to interrupt the thread, but without success.

Thread blocked by IO operation:

```
void run(){
    byte[] data=new byte[1024];
    in.read(data);//blocked!
}

```

Thread to interrupt the blocked thread (did not work):

```
void run(){
    blockedThread.interrupt();//no success!
}

```