我很惊讶如何中断被某些I/O操作阻塞的线程?这个I/O是通过一个socket进行的,而我不想close()
这个socket。
我尝试使用Thread.interrupt()
来中断线程,但没有成功。
线程被I/O操作阻塞:
void run(){
byte[] data=new byte[1024];
in.read(data);//blocked!
}
中断被阻塞的线程(未成功):
void run(){
blockedThread.interrupt();//no success!
}