读取套接字时的Java中断线程

zah*_*pov 7 java sockets multithreading network-programming interrupted-exception

可能重复:
如何立即终止套接字IO操作上的线程阻塞?

我有客户端在线程中运行想要从Java中读取套接字.但是在阅读时,也许我想要杀死这个主题.所以我interrupt,但socket的阅读方法是否抛出InterruptedException?我没找到.

那么,我怎么能很好地要求线程在读取套接字时阻塞?

谢谢

Moh*_*our 2

已回答如何立即终止套接字 IO 操作上的线程阻塞?

基本上,当您使用close()套接字时,所有关联的流都将关闭,从而导致所有被阻止的操作被解除阻止。

或者你可以调用Thread.interrupt()它,它会中断阻塞操作,导致它抛出InterruptedException.

  • 我用 Java 8 检查了这一点,至少没有抛出 InterruptedException。read 方法仅返回(-1)并设置 Thread.interrupted() 标志。 (8认同)