release method
Implementation
@override
Future<void> release() {
if (_owner == null) {
throw StateError('Attempting to release a lock that is unowned');
}
if (_owner != Zone.current) {
throw StateError(
'Attempting to release a lock that is owned by a different zone');
}
if (--_count > 0) {
return _void;
}
_owner = null;
if (_queue.isNotEmpty) {
_queue.dequeue();
}
return _void;
}