table of contents
| RWLock(3pm) | User Contributed Perl Documentation | RWLock(3pm) |
NAME¶
Coro::RWLock - reader/write locks
SYNOPSIS¶
use Coro;
$lck = new Coro::RWLock;
$lck->rdlock; # acquire read lock
$lck->unlock; # unlock lock again
# or:
$lck->wrlock; # acquire write lock
$lck->unlock; # unlock lock again
# try a readlock
if ($lck->tryrdlock) {
...;
$l->unlock;
}
# try a write lock
if ($lck->trywrlock) {
...;
$l->unlock;
}
DESCRIPTION¶
This module implements reader/write locks. A read can be acquired for read by many coroutines in parallel as long as no writer has locked it (shared access). A single write lock can be acquired when no readers exist. RWLocks basically allow many concurrent readers (without writers) OR a single writer (but no readers).
You don't have to load "Coro::RWLock" manually, it will be loaded automatically when you "use Coro" and call the "new" constructor.
- $l = new Coro::RWLock;
- Create a new reader/writer lock.
- $l->rdlock
- Acquire a read lock.
- $l->tryrdlock
- Try to acquire a read lock.
- $l->wrlock
- Acquire a write lock.
- $l->trywrlock
- Try to acquire a write lock.
- $l->unlock
- Give up a previous "rdlock" or "wrlock".
AUTHOR/SUPPORT/CONTACT¶
Marc A. Lehmann <schmorp@schmorp.de> http://software.schmorp.de/pkg/Coro.html
| 2025-03-21 | perl v5.40.1 |