的变化是有没有办法等待一个AtomicInteger
,这样我就不必继续睡我的当前线程和保持检查的AtomicInteger
这样有没有一种方法,以等待在原子整数
while(atomicInt.get() >= 0) {
Thread.sleep(1000)
}
我知道有这样的事,作为一个CountDownLatch
但只允许我减我还需要它能够增加
而且背景故事 - 我有一个循环创建线程,我需要等待一个在创建新线程之前完成线程的执行。我正在使用一个Executors.newFixedThreadPool(numThreads)
,并且等待它的唯一方法似乎是调用shutdown方法等待终止,然后创建一个新的threadPool,所以我使用原子整数来跟踪有多少个线程正在运行和/或在队列中,这样当数量减少时,我可以继续循环。
简短的回答是否定的。你可以编辑你的问题,并解释多一点_why_你想要这个?可能有其他选择。 – Gray
为什么不使用WaitForSingleObject进行等待。创建一个while循环来等待是一个可怕的想法。 – CyprUS
等待一个原子对象完全失败了等待算法的目的。你这样做是错的。 – maerics