A python package that provides useful locks.
It includes the following.
- Helpful
locked
decorator (that acquires instance objects lock(s) and acquires on method entry and releases on method exit).
- Multiple readers (at the same time).
- Single writers (blocking any readers).
- Helpful
read_locked
andwrite_locked
decorators.
- Single writer using file based locking (these automatically
release on process exit, even if
__release__
or__exit__
is never called). - Helpful
interprocess_locked
decorator.
- A
try_lock
helper context manager that will attempt to acquire a given lock and provide back whether the attempt passed or failed (if it passes, then further code in the context manager will be ran with the lock acquired).