Rand Stats

ReadWriteLock

cpan:ROBERTLE

ReadWriteLock

... A lock with shared/exclusive access modes, for the Raku language.

Features

Planned Features

Example Usage

use ReadWriteLock;

my $l = ReadWriteLock.new;

my $thread-a = Thread.start({
    $l.lock-shared();
    for ^5 {
        sleep 1;
        say "thread A doing something under protection of the lock";
    }
    $l.unlock();
});

my $thread-b = Thread.start({
    $l.protect-shared({
        for ^5 {
            sleep 1;
            say "thread B doing something under protection of the lock";
        }
    });
});

my $thread-c = Thread.start({
    $l.protect-exclusive({
        for ^5 {
            sleep 1;
            say "thread C doing something under exclusive protection of the lock";
        }
    });
});

$thread-a.join;
$thread-b.join;
$thread-c.join;

Documentation

Please see the POD in lib/ReadWriteLock.rakumod for more documentation and usage scenarios.

License

ReadWriteLock is licensed under the Artistic License 2.0.

Feedback and Contact

Please let me know what you think: Robert Lemmen robertle@semistable.com