1
25
相位器是一个光荣的循环屏障。您可以注册n个参与方,当您准备好等待他们在特定阶段的前进时。 关于它如何工作的一个简单示例:
|
2
2
你当然可以用
通知 任务运行他们的工作,然后 旋转 直到设置了倒计时(即知道任务总数)。一旦设置了倒计时,他们就倒计时并退出。提交如下:
后 你作品的创作/提交点, 当你知道你已经创建了多少任务时 以下内容:
|
3
1
我使用了一个ExecutionCompletionService来实现以下功能:
这涉及到保持已提交任务的队列,因此如果您的列表任意长,您的方法可能更好。
但一定要使用
|
4
0
我假设您的生产者不需要知道队列何时是空的,但需要知道最后一个任务何时完成。
我会添加一个
消费者线程
|
5
0
您所描述的与使用标准信号量非常相似,但使用的是“向后”。
此外,您还可以灵活地只获取M<N许可证,如果您想检查中间状态,这很有用。例如,我正在测试一个异步绑定的消息队列,因此我希望该队列对于某些m<n是满的,因此我可以获取m并检查该队列是否确实满了,然后在从队列中消费消息之后获取剩余的n-m许可证。 |
6
0
一个独立的Java 8 +方法
FYI。对于奇异事件,这是可以的,但如果同时调用它,则涉及
|
a a · 为什么在这个可重入锁示例中需要引用计数? 2 年前 |
Grant · goroutines有高空闲唤醒电话 2 年前 |
hoaz · 如何安全地清理并发映射 6 年前 |
Alanpatchi · int基元类型的volatile声明 6 年前 |