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