线程每3秒运行一次

时间:2012-10-22 10:29:31

标签: java multithreading

我正在研究java中的多线程并在这里创建了1个线程代码:

class SampleThread extends Thread
    {
        int time;
        String name;
        boolean autocall;
        public SampleThread(int time, String name)
        {
            this.time = time;
            this.name = name;
        }

          public void run()
          { 
              try{
                  time = time +1;
                  updateView(time, name);
                  //sleep(3000);
              }catch(Exception e)
              {
                  e.printStackTrace();
              }
            //this.stop();
          }     
    }

现在我想每隔3秒运行一次这个线程如何实现这个?

2 个答案:

答案 0 :(得分:5)

我建议不要这样做。看看java.util.concurrent包中的 new 类(好吧,不是那么新),尤其是ScheduledThreadPoolExecutor

答案 1 :(得分:1)

对新实现使用Java.util.Concurrent ..如果您使用的是JDK 1.4或更低版本,请使用以下方法。

boolean isRunning = true;
public void run() {
        do {
           try {
                System.out.println("do what you want to do it here");
                Thread.sleep(3000l);
            } catch ( InterruptedException ie) {
               ie.printStackTrace();
           } catch (RunTimeException rte) {
               isRunning  = false; // terminate here if you dont expect a run time exception... 
           }
        } while ( isRunning );
    }