并发控制:Java并发工具类(如Semaphore,CountDownLatch等)的使用示例?

原创 谁借莪1个温暖的怀抱¢ 2024-09-19 09:45 219阅读 0赞

Java中的并发工具类主要是用于管理线程间的协作,防止数据竞争。以下是一些常用的并发工具类及其使用示例:

  1. Semaphore(信号量):表示在同一时刻允许的最多线程数。
  1. Semaphore semaphore = new Semaphore(3); // 初始化信号量,初始值为3
  2. // 线程1可以获取到信号量
  3. semaphore.acquire();
  4. // 线程2可以获取到信号量,但不超过当前信号量值
  5. semaphore.acquire();
  6. // 线程3可以获取到信号量,但不超过当前信号量值
  7. semaphore.acquire();
  8. // 释放信号量,允许其他线程获取
  9. semaphore.release();
  1. CountDownLatch(计数down latch):表示一组等待某个事件的线程。
  1. CountDownLatch countDownLatch = new CountDownLatch(3); // 初始化计数器,初始值为3
  2. // 线程1需要等待两个线程完成任务后才能继续执行
  3. countDownLatch.await();
  4. // 线程2可以立即执行任务
  5. // 线程3可以立即执行任务

以上示例展示了如何使用SemaphoreCountDownLatch来管理并发控制。

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

发表评论

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

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

相关阅读