我试图每秒运行一个 Thread
类。我不能使用 Runnable
。我尝试了以下方式,但它抛出 StackOverflowException
。谁能告诉我一个让线程类每秒运行的标准方法。
public class A extends Thread {
public void run() {
//do my stuff
sleep(1*1000,0);
run();
}
}
最佳答案
使用Timer
的 schedule()
或 scheduleAtFixedRate()
( difference between these two ) 与 TimerTask
在第一个参数中,您将在其中重写 run()
方法。
例子:
Timer timer = new Timer();
timer.schedule(new TimerTask()
{
@Override
public void run()
{
// TODO do your thing
}
}, 0, 1000);
您的示例导致堆栈溢出,因为它是无限递归,您总是从 run()
调用 run()
。
关于java - Android:使线程每秒运行的标准方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16872419/