读书笔记:新类库中的构件

本文介绍了四种常用的并发编程工具:CountDownLatch、CyclicBarrier、DelayQueue 和 PriorityBlockingQueue。这些工具帮助开发者实现复杂的并发控制逻辑,如任务同步、并行任务等待、定时任务处理和优先级队列管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.CountDownLatch:被用来同步一个或多个的同步任务,强制它们等待由其他任务执行的一组操作完成。可以向CountDownLatch对象设置一个初始计数值,任何在这个对象上调用wait()方法都将阻塞,直到这个计数值到达0。其他任务在结束工作的时候,可以在这个对象上调用countDown()来减小这个计数值。典型用法:把一个任务分割成n个独立的可解决任务,并创建值为0的CountDownLatch,当每个任务完成时,都会在这个锁存器上调用CountDown(),等待问题被解决的任务在这个锁存器上调用await(),将自己拦住,知道锁存器计数结束。

2.CyclicBarrier:适用于这样情况:希望创建一组任务,他们并行的执行工作,然后在进行下一个步骤之前等待,知道所有的任务完成。可以使得所有的并行任务都将在栅栏出队列,可以一致的向前移动。

3.DelayQueue:是一个无界的BlockingQueue,用于放置实现了Delayed接口的对象,其中的对象只能在其到期才能从队列中取走。这种队列是有序的。对头对象的延迟到期时间最长,如果没有任何延迟到期,那么就不会有任何头元素,并且poll()放回null。

4.PriorityBlockingQueue:这是一个很基础的优先级队列,它具有可阻塞的读取操纵。在优先级队列中的对象是按照优先级顺序从队列中出现的任务。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值