求个IO阻塞的破法
in=read(buffer)时,如果in由于网络原因断掉,会一直阻塞,程序会被挂起,过段时间即便恢复,in也无法继续,所以造成程序挂死在那里,由于挂起,也无法捕获到异常,本人束手无策,求高手给个阻塞IO的解决办法
------解决方案--------------------该自己写的代码
1. 在Session关闭时给队列一个通知,让其从阻塞状态恢复
2. 使用带timeout的阻塞取方式
------解决方案--------------------两个建议了:
1、建立网络连接前,设置好超时参数;
2、使用NIO技术,也即非阻塞IO。