1. 你shutdown时,可能线程还没start,因此,shutdown应该稍晚执行(加延时或判alive)
2. 在io的block状态,调用interrupt()只能修改状态,不能从block中中断出来

解决方案 »

  1.   

    BufferedInputStream bis=new BufferedInputStream(System.in);
        try {
          if (bis.available() > 0) {//有数据可读
            
          }
          else{//进行其它操作      }
        }
        catch (IOException ex) {
        }
    这样这不会有block了
      

  2.   

    直接把socket close掉应该也可以吧。呵呵。