Java并发编程:CountDownLatch使用示例
CountDownLatch是Java并发工具包的一部分,它提供了一个同步机制,当一个或多个线程完成一个操作后,会调用CountDownLatch的一个方法来减少它的计数值。
下面是一个CountDownLatch的使用示例:
import java.util.concurrent.CountDownLatch;
public class CountDownLatchExample {
private final CountDownLatch signal = new CountDownLatch(1);
public void workerThread() throws InterruptedException {
System.out.println("Worker thread started");
// 等待信号
signal.await();
System.out.println("Worker thread completed");
}
public void mainThread() throws InterruptedException {
System.out.println("Main thread started");
// 创建一个worker线程并启动
new Thread(() -> workerThread())).start();
// 当主线程完成时,减少信号的计数
signal.countDown();
System.out.println("Main thread completed");
}
}
在这个例子中,我们有一个CountDownLatchsignal
。在workerThread中,它会等待信号被调用countDown方法来减少计数值后才执行。
在mainThread中,主线程会创建一个worker线程并启动。当主线程完成时,通过调用signal的countDown方法来减少计数。
还没有评论,来说两句吧...