release method

void release()
inherited

Release the lock. If the lock isn't acquired then this method does nothing.

Implementation

void release() {
  if (_locked) {
    if (_waiters.isEmpty) {
      _locked = false;
    } else {
      var waiter = _getNextWaiter();
      waiter.complete();
    }
  }
}