0

私はスレッドの世界の初心者であり、まだ学習中です。スレッドの概念を調べていて、他のスレッドが以前のスレッドが完了するのを待ってから参加するところに参加していたので、教えてください。 T1 が完了すると t2 が開始される 3 つのスレッド T1、T2、T3 を開始します。

4

3 に答える 3

2

私が理解していることのうち、スレッド 1 が完全に完了するまで待ってからスレッド 2 を開始し、スレッド 3 はどこでも実行できます。あなたの質問を満たすと思う簡単なコード:

Thread thread1 = new Thread1();
Thread thread2 = new Thread2();
Thread thread3 = new Thread3();
thread3.start();
thread1.start();
try {
  thread1.join();
  thread2.start();
} catch (InterruptedException e) {
  //if you do not use thread1.interrupt() this will not happen.
}
于 2013-02-18T17:10:24.650 に答える
0

Barriers を使用して、いくつかのスレッドが終了した後に何らかのアクション (おそらく別のスレッド) を開始できます。

詳細については、http : //programmingexamples.wikidot.com/java-barrierを確認してください。

しかし、1 つのスレッドだけを待つのはあまり意味がありません...

于 2013-02-18T17:06:53.893 に答える
0

次のようにします。

        Thread T1 = new Thread(new ThreadExm);  // where ThreadExm implements Runnable
        Thread T2 = new Thread(new ThreadExm);

        try {
            // Start the thread1 and waits for this thread to die before
            // starting the thread2 thread.
            T1.start();
            T2.join();

            // Start thread2 when T1 gets completed
            thread2.start();
        } catch (InterruptedException ex) {
            ex.printStackTrace();
        }
于 2013-02-18T17:11:46.707 に答える