关于第一个问题,推荐你看一下《Taming in Java Thread》这本书,它里面好像有一个你所要的效率很高的“监视线程”的完美实现(为什么说完美呢?因为该书的作者是一个完美主义者)。
第二个问题,我觉得《Java Network Programming 2nd》(O'Reilly)里面好像有相关介绍。
不过,我不能给你这两本书的下载地址。
第一本可能在网上根本没有的下,我是有一本(纸书),还是从公司贪污的,呵呵,绝对是好书哦!不过你可以去IBM的developerwork找找,有这本书的节选。
第二本,我好像见过有的下载,再不行买一本中文版的。
祝你好运!

解决方案 »

  1.   

    Norwaywoods()谢谢你的建议,我会参考的! pzl686(阿虎)你好,首先谢谢你的参与!在多线程的网络通讯中(特别是我们学习时喜欢使用聊天室为范例),通常用socket获得的OutputStream发送字符窜等较小信息量的数据包,而我这里发送的是图象包,信息量较大,每次通讯维持的时间较长;其次,我说的问题通常只发生在物理链路断掉时,比如你可以试试在通讯一半时拔出客户机上的网线。
      

  2.   

    firemica(熊熊)你好!关于你的“解决方法”,在实际操作中有两个问题一.当socket向外发送信息时,网络物理中断,线程将停留在发送状态,暂用端口没法释放,直至异常抛出。因此你除非用另一个线程直接关闭当前的sokect,强制其快速抛出异常。二.程序中使用了固定线程数目的线程池技术,因此不能销毁线程,或新建线程,因此只能关闭接口,而不能销毁线程