我有一个线程,代码为:
class Mythread extends Thread {
    public void run(){
        ........(自定义代码)
         excute();
        .........(自定义代码)
    }
}
现在的问题是在run()方法里面必须有excute()方法,而excute()未知,可能是下载文件程序,也可能是其他程序,就是说不考虑excute()的具体代码。run()里面的(自定义代码),可有可无,要实现暂停的功能,如果你认为需要加一些代码,就可以在自定义代码里面加,当然你认为没有必要,则自定义代码为空,run()方法里就只有一个excute(),当线程在运行的时候,我怎么样使线程暂停下来,然后又继续开始。不知道大家懂我的意思么?

解决方案 »

  1.   

    在外面定义一个变量, 在run方法里判断,符合就 break
      

  2.   

    2个方法
    wait();

    notify();用法不写了,GOOGLE之
      

  3.   

    是滴,目前的解决办法就是用wait()和notify(),
    楼主学线程的时候应该有接触到哦
      

  4.   

    自己控制吗?可以用wait(),notify()
    否则用sleep()也可以的
      

  5.   

    wait()和notify()应该可以实现的
      

  6.   

    如果不太会wait()和notify(),就用sleep+标志吧,wait()和notify()搞不好就会死锁.
      

  7.   


    支持sleep和使用共享变量补充一下,如果在循环中使用wait()和使用notifyAll()而不是notify()。需要处理好InterruptedException,以方便程序合理退出。