在多线程环境中关闭时的Java套接字行为

在多线程环境中关闭时的Java套接字行为,java,multithreading,sockets,Java,Multithreading,Sockets,当java套接字关闭时,当另一个线程阻塞读取或试图写入输出流时,会发生什么情况?被阻塞的线程抛出SocketException:socketclosed,如果幸运的话,但它没有定义好。你不应该这样做。@EJP说这是一个很好的问题。@MikeNakis不是真的。这不是真正的根本问题。真正的问题是如何组织事情,这样就没有必要了。我从来没有遇到过这个问题。我应该澄清一下,我在这里谈论的是java.net.Socket。如果关闭一个SocketChannel,阻塞的线程将产生一个错误,这是定义良好的。

当java套接字关闭时,当另一个线程阻塞读取或试图写入输出流时,会发生什么情况?

被阻塞的线程抛出
SocketException:socketclosed
,如果幸运的话,但它没有定义好。你不应该这样做。@EJP说这是一个很好的问题。@MikeNakis不是真的。这不是真正的根本问题。真正的问题是如何组织事情,这样就没有必要了。我从来没有遇到过这个问题。我应该澄清一下,我在这里谈论的是
java.net.Socket
。如果关闭一个
SocketChannel
,阻塞的线程将产生一个错误,这是定义良好的。