我正在研究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秒运行一次这个线程如何实现这个?
答案 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 );
}