/** * Signal any waiting threads in the {@link QueuedSynchronizer}. By default * the {@link QueuedSynchronizer} is obtained by a call to * {@link #getQueuedSynchronizer}. */ protected void signalQueuedSynchronizer(final Object context, final boolean shared) { final QueuedSynchronizer sync = getQueuedSynchronizer(context); if (shared) { sync.signalSharedWaiters(); } else { sync.clearOwnerThread(); sync.signalWaiters(); } }
final QueuedSynchronizer sync = getQueuedSynchronizer(context); final int waitThreshold = getWaitThreshold(); long logInterval;