我看到了这个问题:如何在完成另一个线程后运行一个线程 ,但它的答案不适合我。
我有这种适用于 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;
}
});
}
首先将我在后台服务中处理的一些硬操作Thread
作为参数对象。Runnable
所以,当我调用 method: startTask()我设置running = true; 防止双重执行任务。但是,我也需要在第一个线程完成后立即启动第二个线程来设置running = false; 使其他操作能够执行。
我怎样才能等待第一个线程的完整性不冻结主线程?谢谢!