2012-03-23 24 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();