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. |
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.