![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
Inheritance diagram for FQueuedThreadPoolBase:Public Member Functions | |
| FQueuedThreadPoolBase () | |
| virtual | ~FQueuedThreadPoolBase () |
| bool | CreateInternal (bool bForkable, uint32 InNumQueuedThreads, uint32 StackSize, EThreadPriority ThreadPriority, const TCHAR *Name) |
| virtual bool | Create (uint32 InNumQueuedThreads, uint32 StackSize, EThreadPriority ThreadPriority, const TCHAR *Name) override |
| virtual bool | CreateForkable (uint32 InNumQueuedThreads, uint32 StackSize, EThreadPriority ThreadPriority, const TCHAR *Name) override |
| virtual void | Destroy () override final |
| int32 | GetNumQueuedJobs () const |
| virtual int32 | GetNumThreads () const |
| void | AddQueuedWork (IQueuedWork *InQueuedWork, EQueuedWorkPriority InQueuedWorkPriority) override |
| virtual bool | RetractQueuedWork (IQueuedWork *InQueuedWork) override |
| IQueuedWork * | ReturnToPoolOrGetNextJob (FQueuedThread *InQueuedThread) |
Public Member Functions inherited from FQueuedThreadPool | |
| CORE_API | FQueuedThreadPool () |
| virtual CORE_API | ~FQueuedThreadPool () |
Protected Attributes | |
| FThreadPoolPriorityQueue | QueuedWork |
| TArray< FQueuedThread * > | QueuedThreads |
| TArray< FQueuedThread * > | AllThreads |
| FCriticalSection * | SynchQueue |
| bool | TimeToDie |
Additional Inherited Members | |
Static Public Member Functions inherited from FQueuedThreadPool | |
| static CORE_API FQueuedThreadPool * | Allocate () |
Static Public Attributes inherited from FQueuedThreadPool | |
| static CORE_API uint32 | OverrideStackSize = 0 |
Implementation of a queued thread pool.
|
inline |
Default constructor.
|
inlinevirtual |
Virtual destructor (cleans up the synchronization objects).
|
inlineoverridevirtual |
Checks to see if there is a thread available to perform the task. If not, it queues the work for later. Otherwise it is immediately dispatched.
| InQueuedWork | The work that needs to be done asynchronously |
| InQueuedWorkPriority | The priority at which to process this task |
Implements FQueuedThreadPool.
|
inlineoverridevirtual |
Creates the thread pool with the specified number of threads
| InNumQueuedThreads | Specifies the number of threads to use in the pool |
| StackSize | The size of stack the threads in the pool need (32K default) |
| ThreadPriority | priority of new pool thread |
| Name | optional name for the pool to be used for instrumentation |
Implements FQueuedThreadPool.
|
inlineoverridevirtual |
Creates the thread pool with the specified number of forkable threads (see FForkProcessHelper)
Currently only works after the process has been forked because GetSingleThreadInterface() isn't implemented for pooled threads
| InNumQueuedThreads | Specifies the number of threads to use in the pool |
| StackSize | The size of stack the threads in the pool need (32K default) |
| ThreadPriority | priority of new pool thread |
| Name | optional name for the pool to be used for instrumentation |
Reimplemented from FQueuedThreadPool.
|
inline |
Tells the pool to clean up all background threads
Implements FQueuedThreadPool.
|
inline |
Get the number of queued threads
Implements FQueuedThreadPool.
|
inlineoverridevirtual |
Attempts to retract a previously queued task.
| InQueuedWork | The work to try to retract |
Implements FQueuedThreadPool.
|
inline |
|
protected |
All threads in the pool.
|
protected |
The thread pool to dole work out to.
|
protected |
The work queue to pull from.
|
protected |
The synchronization object used to protect access to the queued work.
|
protected |
If true, indicates the destruction process has taken place.