この質問を見ました: 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;
}
});
}
最初に、バックグラウンド サービスで処理しているいくつかのハード操作でThread
param オブジェクトとして取得します。Runnable
したがって、メソッドを呼び出すとき: startTask()私はrunning = true;を設定します。タスクの二重実行を防ぎます。しかし、また、最初のスレッドが完了した直後に、2 番目のスレッドを開始して running = false;を設定する必要があります。他の操作を実行できるようにします。
メインスレッドをフリーズしないように、最初のスレッドの完了を秒単位で待つにはどうすればよいですか?? ありがとう!