如Java Concurrency In Practice中所述:
不幸的是,InputStream和OutputStream中的读写方法对中断没有响应,但是关闭基础套接字会使读写过程中阻塞的所有线程都抛出SocketException。
所以,我的问题是,假设在方法的Thread
本机方法socketRead0()
中一个被阻塞SocketInputStream.read()
,如果相关的Socket被关闭(通过调用close()
),被阻塞的线程会SocketException
立即收到信号吗?
否则直到套接字读取超时都不会发生?
假设方法中的本机方法
socketRead0()
中有一个线程被阻塞SocketInputStream.read()
,如果相关Socket
被关闭(通过调用close()
),被阻塞的线程会SocketException
立即收到通知吗?
是的。
或在套接字读取超时之前什么也不会发生?
这是立即的。等待超时毫无意义。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句