gpt4 book ai didi

java - Golang 的 WaitGroup 的 Java 等价物是什么

转载 作者:IT王子 更新时间:2023-10-29 01:27:52 31 4
gpt4 key购买 nike

Golang 有一个叫做 WaitGroup 的东西,它有点像 Java 中的 CompletionServiceCountDownLatchSemaphore 或后者的某种组合。

我不完全确定您将如何在 Java 中实现 WaitGroup。我会想象带有某种毒药消息的自定义 CompletionService 将是可行的路线(因为队列无法说明它们何时完成)但也许有更好的并发数据结构/锁?

编辑我在下面使用 Semaphore 发布了一个可能的解决方案,我认为它比使用 thread.join 更相似。

最佳答案

WaitGroup 具有 Add(delta) 方法,可在创建 WaitGroup 后调用。 CountDownLatch 不支持此功能,需要提前指定任务数。在这种情况下可以使用 JDK7 Phaser:

phaser.register = wg.Add(1)
phaser.arrive = wg.Done
phaser.await = wg.Wait

关于java - Golang 的 WaitGroup 的 Java 等价物是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29655531/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com