Есть ли способ дождаться изменения атомарного целого

Есть ли способ подождать AtomicIntegerтак что мне не нужно продолжать спать мой текущий поток и продолжать проверять AtomicIntegerвот так

while(atomicInt.get() >= 0) {
    Thread.sleep(1000)
}

Я знаю, что есть такая вещь, как CountDownLatch, но это только позволяет мне уменьшать, мне также нужно, чтобы он мог увеличивать

Дальнейшая предыстория - У меня есть цикл, создающий потоки, и мне нужно дождаться завершения выполнения одного из потоков, прежде чем создавать новый поток. Однако я использую Executors.newFixedThreadPool(numThreads), и единственный способ дождаться его, по-видимому, состоит в том, чтобы вызвать метод завершения работы с ожиданием завершения, а затем создать новый threadPool, поэтому вместо этого я использовал атомарное целое число для отслеживать, сколько потоков запущено и/или в очереди, чтобы, когда это число уменьшилось, я мог продолжить цикл.

12
задан jgerstle 9 May 2012 в 17:44
поделиться