Class ConcurrencyUtils

    • Method Detail

      • runIfZeroCountDown

        public static void runIfZeroCountDown​(Runnable runner,
                                              AtomicInteger counter)
        Decreases counter to zero, or does not change the counter if negative. This method pretends been atomic. Only one thread can succeed setting the counter to zero.
        Parameters:
        runner - run if this Thread has concurrently decremented the counter down to zero
        counter - atomic counter