Class TaskReadWriteMutex
A ReadWriteMutex implementation for fibers.
This mutex can be used in exchange for a core.sync.mutex.ReadWriteMutex,
but does not block the event loop in contention situations. The reader
and
writer
members are used for locking. Locking the reader
mutex allows access to multiple
readers at once, while the writer
mutex only allows a single writer
to lock it at
any given time. Locks on reader
and
writer
are mutually exclusive (i.e. whenever a
writer
is active, no readers can be active at the same time, and vice versa).
Inherits from
-
Object
(base class)
Constructors
Name | Description |
---|---|
this
|
Fields
Name | Type | Description |
---|---|---|
reader
|
TaskReadWriteMutex |
|
writer
|
TaskReadWriteMutex |
Properties
Name | Type | Description |
---|---|---|
policy
[get]
|
vibe |
The policy with which the lock has been created.
|
Inner classes
Name | Description |
---|---|
Mutex
|
A common baseclass for both of the provided mutexes. |
Aliases
Name | Description |
---|---|
Policy
|
The policy with which the mutex should operate.
|
Reader
|
|
Writer
|
Notice
Mutexes implemented by this class cannot be interrupted
using vibe
(). The corresponding
InterruptException will be deferred until the next blocking
operation yields the event loop.
Use InterruptibleTaskReadWriteMutex
as an alternative that can be
interrupted.
cf. core.sync.mutex.ReadWriteMutex
Authors
Leonid Kramer, Sönke Ludwig, Manuel Frischknecht
Copyright
© 2012-2015 RejectedSoftware e.K.
License
Subject to the terms of the MIT license, as written in the included LICENSE.txt file.