UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FQueuedLowLevelThreadPool Class Referencefinal

#include <QueuedThreadPoolWrapper.h>

+ Inheritance diagram for FQueuedLowLevelThreadPool:

Public Member Functions

 FQueuedLowLevelThreadPool (TFunction< EQueuedWorkPriority(EQueuedWorkPriority)> InPriorityMapper=DefaultQueuedWorkPriorityWrapper, LowLevelTasks::FScheduler *InScheduler=&LowLevelTasks::FScheduler::Get())
 
 ~FQueuedLowLevelThreadPool ()
 
voidoperator new (size_t size)
 
void operator delete (void *ptr)
 
void Pause ()
 
void Resume (int32 InNumQueuedWork=-1)
 
- Public Member Functions inherited from FQueuedThreadPool
virtual bool CreateForkable (uint32 InNumQueuedThreads, uint32 StackSize=(32 *1024), EThreadPriority ThreadPriority=TPri_Normal, const TCHAR *Name=TEXT("UnknownThreadPool"))
 
CORE_API FQueuedThreadPool ()
 
virtual CORE_API ~FQueuedThreadPool ()
 

Protected Member Functions

bool Create (uint32 InNumQueuedThreads, uint32 InStackSize, EThreadPriority InThreadPriority, const TCHAR *InName) override
 
void Destroy () override
 

Additional Inherited Members

- Static Public Member Functions inherited from FQueuedThreadPool
static CORE_API FQueuedThreadPoolAllocate ()
 
- Static Public Attributes inherited from FQueuedThreadPool
static CORE_API uint32 OverrideStackSize = 0
 

Detailed Description

ThreadPool wrapper implementation allowing to schedule thread-pool tasks on the the low level backend which is also used by the taskgraph.

Constructor & Destructor Documentation

◆ FQueuedLowLevelThreadPool()

FQueuedLowLevelThreadPool::FQueuedLowLevelThreadPool ( TFunction< EQueuedWorkPriority(EQueuedWorkPriority)>  InPriorityMapper = DefaultQueuedWorkPriorityWrapper,
LowLevelTasks::FScheduler InScheduler = &LowLevelTasks::FScheduler::Get() 
)
inline

InPriorityMapper Thread-safe function used to map any priority from this Queue to the priority that should be used when scheduling the task on the underlying thread pool.

◆ ~FQueuedLowLevelThreadPool()

FQueuedLowLevelThreadPool::~FQueuedLowLevelThreadPool ( )
inline

Member Function Documentation

◆ Create()

bool FQueuedLowLevelThreadPool::Create ( uint32  InNumQueuedThreads,
uint32  StackSize,
EThreadPriority  ThreadPriority,
const TCHAR Name 
)
inlineoverrideprotectedvirtual

Creates the thread pool with the specified number of threads

Parameters
InNumQueuedThreadsSpecifies the number of threads to use in the pool
StackSizeThe size of stack the threads in the pool need (32K default)
ThreadPrioritypriority of new pool thread
Nameoptional name for the pool to be used for instrumentation
Returns
Whether the pool creation was successful or not

Implements FQueuedThreadPool.

◆ Destroy()

void FQueuedLowLevelThreadPool::Destroy ( )
inlineoverrideprotectedvirtual

Tells the pool to clean up all background threads

Implements FQueuedThreadPool.

◆ operator delete()

void FQueuedLowLevelThreadPool::operator delete ( void ptr)
inline

◆ operator new()

void * FQueuedLowLevelThreadPool::operator new ( size_t  size)
inline

◆ Pause()

void FQueuedLowLevelThreadPool::Pause ( )
inline

Queued task are not scheduled against the wrapped thread-pool until resumed

◆ Resume()

void FQueuedLowLevelThreadPool::Resume ( int32  InNumQueuedWork = -1)
inline

Resume a specified amount of queued work, or -1 to unpause.


The documentation for this class was generated from the following file: