Single‐threaded task execution engine.
Synopsis
Declared in <folly/fibers/FiberManagerInternal.h>
class FiberManager
: public folly::Executor
Description
FiberManager allows semi‐parallel task execution on the same thread. Each task can notify FiberManager that it is blocked on something (via await()) call. This will pause execution of this task and it will be resumed only when it is unblocked (via setData()).
Base Classes
Name |
Description |
Schedules and runs asynchronous work. |
Type Aliases
Name |
Description |
Alias for ExecutorKeepAlive, a safe pointer to an Executor. |
Member Functions
Name |
Description |
|
Enqueue a function to be executed by this executor. This and all variants must be threadsafe. |
|
Enqueue a function with a given priority, where 0 is the medium priority This is up to the implementation to enforce |
|
Returns the number of priority levels this executor supports. |
Static Member Functions
Name |
Description |
|
|
Invokes |
Static Data Members
Name |
Description |
Highest schedulable priority. |
|
Lowest schedulable priority. |
|
Medium (default) schedulable priority. |
Protected Member Functions
Name |
Description |
|
Acquire a keep alive token. Should return false if keep‐alive mechanism is not supported. |
|
Release a keep alive token previously acquired by keepAliveAcquire(). Will never be called if keepAliveAcquire() returns false. |
Protected Static Member Functions
Name |
Description |
Returns true if the KeepAlive is constructed from an executor that does not support the keep alive ref‐counting functionality |
|
Acquires a keep‐alive reference on |
|
Releases a keep‐alive reference on |
|
Makes a counted (non‐dummy, non‐alias) keep‐alive referring to |
Friends
Name |
Description |
Fiber object used by FiberManager to execute tasks. |
|
Primitive which allows one to put current Fiber to sleep and wake it from another Fiber/thread. |
Non-Member Functions
Name |
Description |
Returns the fiber manager keyed by the local type |
|
|
Trace hook invoked when a Future is rescheduled onto an executor. |
|
Trace hook invoked when the global CPU executor is retrieved. |
|
Trace hook invoked when the immutable CPU executor is retrieved. |
|
Trace hook invoked when a SemiFuture is rescheduled onto an executor. |
|
Trace hook invoked when the global CPU executor is set. |
Created with MrDocs