Navigation
API > API/Runtime > API/Runtime/InterchangeCore > API/Runtime/InterchangeCore/FInterchangeTaskSystem
Description
Wait can be call only on game thread. Async thread wait can create dead lock by using all the thread resources.
The caller have some restriction to follow
- This must be a safe place for any game thread task that will be executing during the wait.
- Wait should be call from a engine tick and no lock (like the global UObject locks) should be taken before calling wait.
- Slate ui callback are safe
- Engine tick is safe, use FTSTicker::GetCoreTicker() when you can
- Wait should not happen from a package/asset load call stack
- Wait should not happen from a save package/asset call stack
- Wait should not happen from a garbage collect call stack
If your system need to wait and you already have some locks or you are under a unsafe place you need to redesign your system to move the wait before you get to a unsafe call stack place to wait.
| Name | WaitUntilTasksComplete |
| Type | function |
| Header File | /Engine/Source/Runtime/Interchange/Core/Public/InterchangeTaskSystem.h |
| Include Path | #include "InterchangeTaskSystem.h" |
| Source | /Engine/Source/Runtime/Interchange/Core/Private/InterchangeTaskSystem.cpp |
void WaitUntilTasksComplete
(
const TArray < uint64 > & TasksToComplete
)