read<T> method

Future<T> read<T>(
  1. FutureOr<T> body()
)

Run body under a shared (read) lock. Multiple readers may run concurrently. The lock is released even if body throws.

Implementation

Future<T> read<T>(FutureOr<T> Function() body) async {
  await _acquireRead();
  try {
    return await body();
  } finally {
    _releaseRead();
  }
}