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->tryrdlock; # try a readlock $lck->trywrlock; # try a write lock
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
Create a new reader/writer lock.
Acquire a read lock.
Try to acquire a read lock.
Acquire a write lock.
Try to acquire a write lock.
Give up a previous
Marc Lehmann <email@example.com> http://home.schmorp.de/