@ Trivial private void decrementWithheldConcurrency ( ) { int w ; while ( ( w = withheldConcurrency . get ( ) ) > 0 && ! withheldConcurrency . compareAndSet ( w , w - 1 ) ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) Tr . debug ( this , tc , "withheld concurrency " + w + " --> " + ( w == 0 ? 0 : ( w - 1 ) ) ) ; }
Decrement the counter of withheld concurrency only if positive . This method should only ever be invoked if the caller is about to enqueue a task to the global executor . Otherwise there is a risk of a race condition where withheldConcurrency decrements to 0 with a task still on the queue .