Java并发工具类理解:CountDownLatch和Semaphore示例 原创 ゞ 浴缸里的玫瑰 2024-09-12 21:30 19阅读 0赞 `CountDownLatch` 和 `Semaphore` 都是 Java 中的并发工具类,用于管理多个线程之间的交互。下面我会分别给出这两个工具类的简单示例。 1. CountDownLatch CountDownLatch 是一个只允许一个信号被解除或到达零值的计数器。当它的初始值为 n(n>0)时,每个等待这个 CountDownLatch 的线程都必须在调用 `countDown()` 方法之前设置好其计数值为 n(n>0)。 示例: ```java import java.util.concurrent.CountDownLatch; public class CounterExample { public static void main(String[] args) { // 初始化一个CountDownLatch,初始值为3 CountDownLatch countDownLatch = new CountDownLatch(3); // 创建三个线程,每个线程调用countDown方法减1 for (int i = 0; i < 3; i++) { new Thread(() -> { // 模拟耗时操作 try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } // 减少计数器的值 countDownLatch.countDown(); }).start(); } // 等待所有计数器被消耗完 try { countDownLatch.await(); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("All countdowns completed!"); } } ``` 在这个示例中,我们创建了一个 `CountDownLatch`,初始值为 3。然后创建了三个线程,每个线程调用 `countDown()` 函数减1。 当所有计数器都被消耗完时(也就是 `countDownLatch.await()`),主线程会打印出 "All countdowns completed!" 这个信息。 文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。
相关 并发控制:Java并发工具类(如Semaphore,CountDownLatch等)的使用示例? Java中的并发工具类主要是用于管理线程间的协作,防止数据竞争。以下是一些常用的并发工具类及其使用示例: 1. `Semaphore`(信号量):表示在同一时刻允许的最多线程 谁借莪1个温暖的怀抱¢/ 2024年09月19日 09:45/ 0 赞/ 14 阅读
相关 Java并发编程:CountDownLatch和Semaphore使用示例 在Java并发编程中,`CountDownLatch`和`Semaphore`都是用于控制多个线程并发执行的工具。 1. CountDownLatch: - 当一个或多 ╰半夏微凉°/ 2024年09月15日 03:21/ 0 赞/ 17 阅读
相关 详解Java中并发工具类:CountDownLatch、Semaphore和CyclicBarrier 在Java编程中,并发工具类是用于管理和控制多个线程行为的。以下是CountDownLatch、Semaphore和CyclicBarrier这三种工具类的详细解释: 1. - 日理万妓/ 2024年09月13日 13:33/ 0 赞/ 21 阅读
相关 Java并发工具类理解:CountDownLatch和Semaphore示例 `CountDownLatch` 和 `Semaphore` 都是 Java 中的并发工具类,用于管理多个线程之间的交互。下面我会分别给出这两个工具类的简单示例。 1. Co ゞ 浴缸里的玫瑰/ 2024年09月12日 21:30/ 0 赞/ 20 阅读
相关 深入理解Java中的并发工具类:Semaphore和CountDownLatch 在Java中,线程的管理和控制是非常重要的一部分。其中,`Semaphore` 和 `CountDownLatch` 是两种常用的并发工具类。 1. Semaphore(信号 爱被打了一巴掌/ 2024年09月11日 03:45/ 0 赞/ 16 阅读
相关 Java并发工具库:CountDownLatch、Semaphore和CyclicBarrier使用示例 Java的并发工具库包括`CountDownLatch`,`Semaphore`和`CyclicBarrier`。这些类帮助我们管理多线程环境中的资源共享和同步。 以下是这几 傷城~/ 2024年09月10日 16:45/ 0 赞/ 23 阅读
相关 Java并发工具:CountDownLatch和Semaphore的用法示例 在Java中,CountDownLatch和Semaphore都是用于管理线程同步的工具。下面我们将通过一些实例来演示它们的使用。 1. **CountDownLatch** 深藏阁楼爱情的钟/ 2024年09月06日 01:09/ 0 赞/ 16 阅读
相关 java并发工具类:CountDownLatch,CyclicBarrier,Semaphore,Exchange jdk1.5之后,提供了非常多的辅助类来给我们使用,其中就有CountDownLatch,CyclicBarrier,Semaphore,Exchange --------- ゞ 浴缸里的玫瑰/ 2022年05月14日 10:06/ 0 赞/ 204 阅读
相关 Java并发工具类--CountDownLatch、CyclicBarrier、Semaphore和Exchange 一、CountDownLatch用法 CountDownLatch是Java1.5之后引入的Java并发工具类,放在java.util.concurrent 你的名字/ 2022年04月23日 15:20/ 0 赞/ 244 阅读
还没有评论,来说两句吧...