Navigation
API > API/Runtime > API/Runtime/Core
An implementation details of FTaskConcurrenctyLimiter
| Name | FPimpl |
| Type | class |
| Header File | /Engine/Source/Runtime/Core/Public/Tasks/TaskConcurrencyLimiter.h |
| Include Path | #include "Tasks/TaskConcurrencyLimiter.h" |
Syntax
class FPimpl : public TSharedFromThis< FPimpl >
Inheritance Hierarchy
- FSharedFromThisBase → TSharedFromThis → FPimpl
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FPimpl
(
uint32 InMaxConcurrency, |
Tasks/TaskConcurrencyLimiter.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FPimpl() |
Tasks/TaskConcurrencyLimiter.h |
Structs
| Name | Remarks |
|---|---|
| FLimiterTask | Reference counted wrapper for FTask to manage the task lifetime between worker threads and any thread that might retract the task once it is submitted to the scheduler |
| FPaddedSharedTask | Padded struct to prevent false sharing as we read and write to the ScheduledTasks array |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| CompletionEvent | std::atomic< FEvent * > | Tasks/TaskConcurrencyLimiter.h | ||
| ConcurrencySlots | FConcurrencySlots | Tasks/TaskConcurrencyLimiter.h | ||
| NumWorkItems | std::atomic< uint32 > | Tasks/TaskConcurrencyLimiter.h | ||
| ScheduledTasks | TArray< FPaddedSharedTask > | Tasks/TaskConcurrencyLimiter.h | ||
| TaskPriority | ETaskPriority | Tasks/TaskConcurrencyLimiter.h | ||
| WorkQueue | TLockFreePointerListFIFO< FLimiterTask, 64 > | Tasks/TaskConcurrencyLimiter.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void Push
(
const TCHAR* DebugName, |
FPimpl's template implementations. | Tasks/TaskConcurrencyLimiter.h | |
bool Wait
(
FTimespan Timeout |
Tasks/TaskConcurrencyLimiter.h |