2012-03-23 68 views
1

我已经基本做到了这一点,但是当我运行该应用程序时,它会在冻结之前过多地运行该线程。 寻找让我的线程运行一次,暂停然后再次启动线程。你如何让一个线程运行它的内容,暂停和重复?

我曾尝试:

   while (running.get()) { 
     Thread threadstart = new Thread() 
     { 
     public void run(){ 

      try { 

     Thread.sleep(integerTime); 

,然后有

threadstart.start(); 

末。这是我确切的代码,只是所有的进程被取出。

所有建议赞赏。

回答

3

你正在睡觉的新线程 - 所以你的while循环将以非常快的速度产生新线程,其中每个都会睡觉。

为什么不只是创建一个有循环的线程?

Thread thread = new Thread(new Runnable() { 
    @Override public void run() { 
     while (running.get()) { 
      try { 
       Thread.sleep(integerTime); 
       // Do work 
      } 
     } 
    } 
}; 
thread.start();