Java并发编程:CountDownLatch使用示例

原创 喜欢ヅ旅行 2024-10-15 20:00 165阅读 0赞

CountDownLatch是Java并发工具包的一部分,它提供了一个同步机制,当一个或多个线程完成一个操作后,会调用CountDownLatch的一个方法来减少它的计数值。

下面是一个CountDownLatch的使用示例:

  1. import java.util.concurrent.CountDownLatch;
  2. public class CountDownLatchExample {
  3. private final CountDownLatch signal = new CountDownLatch(1);
  4. public void workerThread() throws InterruptedException {
  5. System.out.println("Worker thread started");
  6. // 等待信号
  7. signal.await();
  8. System.out.println("Worker thread completed");
  9. }
  10. public void mainThread() throws InterruptedException {
  11. System.out.println("Main thread started");
  12. // 创建一个worker线程并启动
  13. new Thread(() -> workerThread())).start();
  14. // 当主线程完成时,减少信号的计数
  15. signal.countDown();
  16. System.out.println("Main thread completed");
  17. }
  18. }

在这个例子中,我们有一个CountDownLatchsignal。在workerThread中,它会等待信号被调用countDown方法来减少计数值后才执行。

在mainThread中,主线程会创建一个worker线程并启动。当主线程完成时,通过调用signal的countDown方法来减少计数。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,165人围观)

还没有评论,来说两句吧...

相关阅读