Есть ли способ подождать AtomicInteger
, чтобы мне не пришлось спать мой текущий поток и продолжать проверять AtomicInteger
, как этот
while(atomicInt.get() >= 0) {
Thread.sleep(1000)
}
Я знаю, что есть такая вещь, как CountDownLatch
, но это только позволяет мне уменьшаться. Мне также нужно, чтобы он мог увеличивать
Далее BackStory -
У меня есть цикл, создающий потоки, и мне нужно дождаться завершения одного из потоков, прежде чем создавать новый поток. Тем не менее, я использую Executors.newFixedThreadPool(numThreads)
, и единственный способ подождать, похоже, заключается в том, чтобы вызвать метод shutdown wait end, а затем создать новый threadPool, поэтому вместо этого я использовал атомное целое, чтобы отслеживать, сколько потоков было запущено, и/или в очереди, чтобы при уменьшении этого числа я мог продолжить цикл.