Module vibe.core.concurrency
Functions and structures for dealing with threads and concurrent access.
This module is modeled after std.concurrency, but provides a fiber-aware alternative to it. All blocking operations will yield the calling fiber instead of blocking it.
Functions
Name | Description |
---|---|
assumeIsolated | Unsafe facility to assume that an existing reference is unique. |
generateModuleImports | |
generateModuleImportsImpl | |
isolatedAggregateMethodsString | private private |
lock | Locks the given shared object and returns a ScopedLock for accessing any unshared members. |
makeIsolated | Creates a new isolated object. |
makeIsolatedArray | Creates a new isolated array. |
prioritySend | |
receive | |
receiveOnly | |
receiveTimeout | |
send | |
setMaxMailboxSize | |
setMaxMailboxSize |
Structs
Name | Description |
---|---|
ScopedLock | Proxy structure that keeps the monitor of the given object locked until it goes out of scope. |
Templates
Name | Description |
---|---|
haveTypeAlready | |
isCopyable | |
isMemberPublic | |
Isolated | Encapsulates the given type in a way that guarantees memory isolation. |
isStronglyIsolated | Determines if the given list of types has any non-immutable aliasing outside of their object tree. |
isWeaklyIsolated | Determines if the given list of types has any non-immutable and unshared aliasing outside of their object tree. |
ScopedRef | Encapsulates a reference in a way that disallows escaping it or any contained references. |
Aliases
Name | Type | Description |
---|---|---|
Tid | Task |
Authors
Sönke Ludwig
Copyright
© 2013 RejectedSoftware e.K.
License
Subject to the terms of the MIT license, as written in the included LICENSE.txt file.