10

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

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

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

谢谢

4

2 回答 2

2

NIO 通道具有InterruptableChannel,它们将在阻塞操作时被中断。您可以将 NIO 与阻塞操作一起使用,因此它们的工作方式与 Java IO 大致相同,即您不必重新开发应用程序即可使用 Selectors/Dispatchers 等。

于 2011-05-29T07:57:13.047 回答
2

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

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

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

于 2011-05-29T04:24:38.747 回答