simple_mutex

Creator: coderz1093

Last updated:

0 purchases

simple_mutex Image
simple_mutex Images

Languages

Categories

Add to Cart

Description:

simple mutex

Simple Mutex #
This provids a exclusive write lock and shared read-only locks.
Request for exclusive lock can gracefully interrupt multiple parallel
loops acquiring shared locks.
Features #

Literally mutually exclusive lock, for read/ write user of resources.
Shared locks, for read-only users.
Eclusive critical section helper with retrun value.
Shared critical section helper with return value.

Getting started #
import 'simple_mutex/simple_mutex.dart';
copied to clipboard
Usage #
Declaration.
final mutex = Mutex();
copied to clipboard
Protect asynchronous critical section with mutually exclusive lock.
await mutex.lock();
try {
// Some mutually exclusive asynchronous critical section.
// This prevent entering other mutually exclusive/ shared critical sections.
} finally {
mutex.unlock();
}
copied to clipboard
Protect asynchronous critical section with shared lock.
await mutex.lockShared();
try {
// Some shared asynchronous critical section.
// This prevent entering other mutually exclusive critical sections.
// On the other hand, this can be run in parallel with other shared
// critical sections.
} finally {
mutex.unlockShared();
}
copied to clipboard
To avoid leaking lock in exceptional cases, critical and criticalShared
are recommended.
Lint unawaited_futures is also recommended, because if you miss await
for critical or criticalShared, memory would be exhausted.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.