/Engine/Plugins/Online/OnlineSubsystem/Source/Public/OnlineAsyncTaskManager.h
Parallel task queue works in a similar flow, except the tasks don't wait for any previous tasks to complete
class FOnlineAsyncTaskManager : public [FRunnable](API\Runtime\Core\HAL\FRunnable), private [FSingleThreadRunnable](API\Runtime\Core\Misc\FSingleThreadRunnable)
std::atomic< bo...
bReloadMaxParallelTasksConfig
Signal game thread to reload the MaxParallelTasks value from config
FThreadSafeBool
bRequestingExit
Should this manager and the thread exit
int32
MaxParallelTasks
Number of tasks that can run in parallel
uint32
OnlineThreadId
Set byFOnlineAsyncTaskManager::Run
TArray<FOnline...
OutQueue
Completed online requests are queued up here for processing on the game thread
FCriticalSectio...
OutQueueLock
Critical section for thread safe operation of the out queue
TArray<FOnline...
ParallelTasks
Tasks that are running in parallel
FCriticalSectio...
ParallelTasksLock
Critical section for thread safe operation of the list
uint32
PollingInterval
Min amount of time to poll for the current task to complete
TQueue<FOnline...
QueuedParallelTasks
This queue is for tasks that are safe to run in parallel with one another
TArray<FOnline...
QueuedSerialTasks
Game thread async tasks are queued up here for processing on the online thread
FCriticalSectio...
QueuedSerialTasksLock
Critical section for thread safe operation of the event in queue
FEvent*
WorkEvent
Trigger event to signal the queue has tasks that need processing