timeout处理超过延时,就自动退出

解决方案 »

  1.   

    可是有这样一个问题
    我写的是一个ftp文件列表的程序,使用的是sun.net.ftp.*;的包
    那里面没有设置超时的选项啊?
    我用另外一个高优先级的线程来stop()这个io线程。那这个io线程是暂时停止呢(不会被垃圾搜集器清除)还是完全退出(io被中断,可以被垃圾搜集器清除)?我用这个方法来搜索很多个地址,一个线程结束了才开另外一个线程。但是大多数时候用了一会儿cpu占用率就100%了,我在怀疑是不是上一个线程并没有真正结束而导致的百思不得其解
      

  2.   

    线程问题向来很难把握,连sun的官方文档中都说到,如果能不用线程的代码最好不用。
    如果要用,也参考现在现成的模式。不要自己想当然!
      

  3.   

    当用stop停止线程,线程不会被清除。而是随机的!
      

  4.   

    可是我没有用多难的东西啊,其实本来可以不用的,只是为了解决io阻塞才用的
    sun.net.ftp不能设置超时:(
      

  5.   

    呵呵。不难是因为类都帮你封装了。建议你用NIO来解决。可能可以解决你的问题,不过NIO操作起来有点麻烦。