blob: 368605c3fcefcc39244b412192993e2b9350a3ac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
A python package that provides useful locks.
It includes the following.
- Locking decorator
Helpful locked decorator (that acquires instance objects lock(s) and
acquires on method entry and releases on method exit).
- Reader-writer locks
Multiple readers (at the same time).
Single writers (blocking any readers).
Helpful read_locked and write_locked decorators.
- Inter-process locks
Single writer using file based locking (these automatically release on
process exit, even if __release__ or __exit__ is never called).
Helpful interprocess_locked decorator.
- Generic helpers
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).
|