Help language development. Donate to The Perl Foundation
... A lock with shared/exclusive access modes, for the Raku language.
Lock
does, just slower and with more bugs ;)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;
Please see the POD in lib/ReadWriteLock.rakumod for more documentation and usage scenarios.
ReadWriteLock is licensed under the Artistic License 2.0.
Please let me know what you think: Robert Lemmen [email protected]