java - Android:使线程每秒运行的标准方法

标签 java android multithreading

我试图每秒运行一个 Thread 类。我不能使用 Runnable。我尝试了以下方式,但它抛出 StackOverflowException。谁能告诉我一个让线程类每秒运行的标准方法。

public class A extends Thread {

    public void run() {
       //do my stuff
      sleep(1*1000,0);
      run();
    }
}

最佳答案

使用Timerschedule()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/

相关文章:

Java JDB : ERROR: transport error 202: gethostbyname: unknown host

java - Java 中指向 String 方法的函数指针

java - 试图从条形码设备获取数据

java - android - 菜单项保持白色甚至禁用

android - 得到最后一个有焦点的 child

java - 有什么方法可以根据用户输入编辑 URI?

java - 当我通过另一个线程保存她时,为什么我无法显示我的 arrayList?

java - 将 XML 数据发送到 Kafka 主题的最佳方式是什么?

c# - 如何防止线程使用的对象被释放?如何控制对象的生命周期?

c++ - QTcpSocket 或 QSslSocket 是否自动创建读/写线程?