0

私のタスクは、2つのスレッド(1つは特定の回数だけインクリメントし、1つは特定の回数だけデクリメントする)が終了した後に共有カウンターを表示することです。したがって、最初のスレッドが終了するとカウンターが表示され、2番目のスレッドが終了すると再びカウンターが表示されます。

私はすでにcounterクラスとcountingThreadクラスを作成しましたが、共有カウンターを表示するだけで問題なく動作すると思います。

私のテストクラスはこれまでのところこれです

public static void main() throws InterruptedException{
    Counter counter = new Counter();    
    Thread inc = new CountingThread(counter, +1);
    Thread dec = new CountingThread(counter, -1);

    inc.start();
    dec.start();
}

終了したら、join()またはisAlive()を使用しますか?もしそうなら、どうすればそれを行うことができますか?

4

1 に答える 1

1

joinを使用して、メインスレッドでincスレッドとdecスレッドが作業を終了するのを待機させます。

inc.start() // starts inc thread
dec.start() // starts dec thread

inc.join() // Tells main/this thread to wait for inc thread to finish
dec.join() // Tells main/this thread to wait for dec thread to finish
于 2012-11-09T05:47:30.620 に答える