RWLock
Read-write locks for sync and async code.
Read-write locks for both synchronous and asynchronous contexts.
AsyncRWLock
An async read-write lock allowing concurrent reads or exclusive writes.
Uses asyncio.Condition for coroutine-safe synchronization.
Source code in shutils/rwlock.py
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | |
ReadLock
Async context manager that acquires/releases a read lock.
Source code in shutils/rwlock.py
96 97 98 99 100 101 102 103 104 105 106 107 108 | |
__aenter__()
async
Acquire the read lock on entering the context.
Source code in shutils/rwlock.py
102 103 104 | |
__aexit__(exc_type, exc_val, exc_tb)
async
Release the read lock on exiting the context.
Source code in shutils/rwlock.py
106 107 108 | |
WriteLock
Async context manager that acquires/releases a write lock.
Source code in shutils/rwlock.py
110 111 112 113 114 115 116 117 118 119 120 121 122 | |
__aenter__()
async
Acquire the write lock on entering the context.
Source code in shutils/rwlock.py
116 117 118 | |
__aexit__(exc_type, exc_val, exc_tb)
async
Release the write lock on exiting the context.
Source code in shutils/rwlock.py
120 121 122 | |
read()
Return an async context manager for acquiring and releasing the read lock.
Source code in shutils/rwlock.py
88 89 90 | |
write()
Return an async context manager for acquiring and releasing the write lock.
Source code in shutils/rwlock.py
92 93 94 | |
RWLock
A thread-safe read-write lock allowing concurrent reads or exclusive writes.
Multiple readers can hold the lock simultaneously, but a writer requires exclusive access.
Source code in shutils/rwlock.py
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | |
ReadLock
Context manager that acquires/releases a read lock.
Source code in shutils/rwlock.py
31 32 33 34 35 36 37 38 39 40 41 42 43 | |
__enter__()
Acquire the read lock on entering the context.
Source code in shutils/rwlock.py
37 38 39 | |
__exit__(exc_type, exc_val, exc_tb)
Release the read lock on exiting the context.
Source code in shutils/rwlock.py
41 42 43 | |
WriteLock
Context manager that acquires/releases a write lock.
Source code in shutils/rwlock.py
45 46 47 48 49 50 51 52 53 54 55 56 57 | |
__enter__()
Acquire the write lock on entering the context.
Source code in shutils/rwlock.py
51 52 53 | |
__exit__(exc_type, exc_val, exc_tb)
Release the write lock on exiting the context.
Source code in shutils/rwlock.py
55 56 57 | |
read()
Return a context manager for acquiring and releasing the read lock.
Source code in shutils/rwlock.py
23 24 25 | |
write()
Return a context manager for acquiring and releasing the write lock.
Source code in shutils/rwlock.py
27 28 29 | |