gpt4 book ai didi

java启动一个又一个完成的后台线程

转载 作者:行者123 更新时间:2023-11-29 09:39:37 25 4
gpt4 key购买 nike

我看到了这个问题:how to run one thread after complete another thread ,但答案不适合我。

我有这样的 Android java 代码:

public void startTask(Runnable r)
{
running = true;
Log.i(tag, "-----------start.Runnable-----------");

Thread first = new Thread(r);
first.start();

Thread second = new Thread(new Runnable() {

@Override
public void run() {
// TODO Auto-generated method stub
running = false;
}
});
}

第一个 ThreadRunnable 对象作为参数,其中包含一些我正在后台服务中处理的硬操作。因此,当我调用方法时:startTask() 我设置了 running = true; 以防止重复执行任务。但是,我还需要在第一个线程完成后立即启动第二个线程来设置 running = false; 以启用其他操作来执行。

我怎样才能等待第一个线程完成而不卡住主线程?谢谢!

最佳答案

您可以使用SingleThreadExecutor

Executor executor = Executors.newSingleThreadExecutor();
executor.execute(runnable1);
executor.execute(runnable2);

关于java启动一个又一个完成的后台线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13694850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com