acquire method

Future<void> acquire()

Implementation

Future<void> acquire() async {
  if (_currentCount > 0) {
    _currentCount--;
    return;
  }

  final completer = Completer<void>();
  _waitQueue.add(completer);
  return completer.future;
}