acquire method

Future<void> acquire()

Acquires a permit from this semaphore.

Implementation

Future<void> acquire() {
  if (_count > 0) {
    _count--;
    return _true;
  }

  final waiter = _queue.enqueue();
  return waiter as Future<void>;
}