private void releaseWaiters() {
    Waiter head;
    do {
      head = waiters;
    } while (!ATOMIC_HELPER.casWaiters(this, head, Waiter.TOMBSTONE));
    for (Waiter currentWaiter = head; currentWaiter != null; currentWaiter = currentWaiter.next) {
      currentWaiter.unpark();
    }
  }
private void releaseWaiters() {
    Waiter head;
    do {
      head = waiters;
    } while (!ATOMIC_HELPER.casWaiters(this, head, Waiter.TOMBSTONE));
    for (Waiter currentWaiter = head; currentWaiter != null; currentWaiter = currentWaiter.next) {
      currentWaiter.unpark();
    }
  }
private void releaseWaiters ( ) { Waiter head ; do { head = waiters ; } while ( ! ATOMIC_HELPER . casWaiters ( this , head , Waiter . TOMBSTONE ) ) ; for ( Waiter currentWaiter = head ; currentWaiter != null ; currentWaiter = currentWaiter . next ) { currentWaiter . unpark ( ) ; } }
Releases all threads in the {@link #waiters} list, and clears the list.
Releases all threads in the {