0

我的任务是在 2 个线程(一个递增一定次数,一个递减一定次数)完成后显示共享计数器。因此,当第一个线程完成时,它将显示计数器,当第二个线程完成时,它将再次显示计数器。

我已经创建了一个计数器类和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 回答