Marc Lehmann > Coro-6.31 > Coro::RWLock

Download:
Coro-6.31.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  2
Open  2
View/Report Bugs
Module Version: 6.31   Source   Latest Release: Coro-6.39

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->tryrdlock; # try a readlock
 $lck->trywrlock; # try a write lock

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 ^

 Marc Lehmann <schmorp@schmorp.de>
 http://home.schmorp.de/
syntax highlighting: