一种不建议使用的api,所以,别问了

解决方案 »

  1.   

    stop与interrupt都是不支持的方法,destroy也不行!
      

  2.   

    自己设置flag来终止run里面的循环
      

  3.   

    推荐的办法是,设立针对某线程的标志位,如果需要是这个线程暂停就将标志位置位,同时这个线程在工作的间隙也要不断的检查标志位,如果置位就sleep(),需要时,再用interrupt()(此方法是支持的,stop()、suspend()不支持)将其唤醒。这就需要将这个线程的工作分成小块,每做完一块就检查一次标志位。我试过了,效果还不错。但另一个问题就来了,如何分割要做的工作?可能还要考虑考虑。:)
    另外,wait(),notify()也可以考虑,但notify()不能唤醒指定的线程,只能将处于等待中的线程任意唤醒一个。