A limited re-entrant readwrite lock
Project description
This is rwrlock a yet another python re-entrant rw lock
Goals
- To make a rentrant read write ock as opposed to non re-entrant
- Within one thread multiple readlocks can be obtained in reality only first in stack takes lock restreference count
- Within onethreadmultiple write locks can be obtained again first gets lock restreference count
- Withion one thread if you want a readlock and have a write lock it acts as if read lock is obtained but keeps the write lock
- What this does not do is promote a read lock to a write lock that instead throws a runtime error
This does not implement and priority between readers and writers
Usage:
from rwrlock import RWRLock
my_obj_rwlock = RWRLock()
# When reading from my_obj:
with my_obj_rwlock.r_locked():
do_read_only_things_with(my_obj)
# When writing to my_obj:
with my_obj_rwlock.w_locked():
mutate(my_obj)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
rwrlock-0.0.2.tar.gz
(3.9 kB
view hashes)