RWLock(3pm) | User Contributed Perl Documentation | RWLock(3pm) |
Coro::RWLock - reader/write locks
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; }
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.
Marc A. Lehmann <schmorp@schmorp.de> http://software.schmorp.de/pkg/Coro.html
2022-10-20 | perl v5.36.0 |