gpt4 book ai didi

java - 我可以使用什么 API 来等待任务完成

转载 作者:行者123 更新时间:2023-12-01 13:20:10 28 4
gpt4 key购买 nike

我需要的是一个类似 CoundDownLatch 的工具/类但可以向上或向下计数。每当任务执行时,它就会递增计数,当任务完成时,它就会递减计数。可以有多个任务并行运行,一个线程应该等待,直到没有任务正在执行/计数器为 0。

我查看了 Phaser类,但我不知道它是否提供了我正在寻找的东西,也许它可以用来解决这个难题?

最佳答案

您可以将java.util.concurrent.locks.ConditionReentrantLockAtomicInteger一起使用。

任务执行器的伪代码:

// start executing task
taskCounter.incrementAndGet();
// execute task
...
// stop executing task
if (taskCounter.decrementAndGet() == 0) {
condition.signal();
}

服务员线程的伪代码:

condition.await();

关于java - 我可以使用什么 API 来等待任务完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22098982/

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