![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <MicrosoftRunnableThread.h>
Inheritance diagram for FRunnableThreadWin:Public Member Functions | |
| ~FRunnableThreadWin () | |
| virtual void | SetThreadPriority (EThreadPriority NewPriority) override |
| virtual void | Suspend (bool bShouldPause=true) override |
| virtual bool | Kill (bool bShouldWait) override |
| virtual void | WaitForCompletion () override |
| virtual bool | SetThreadAffinity (const FThreadAffinity &Affinity) override |
Public Member Functions inherited from FRunnableThread | |
| virtual FRunnableThread::ThreadType | GetThreadType () const |
| const uint32 | GetThreadID () const |
| const FString & | GetThreadName () const |
| EThreadPriority | GetThreadPriority () const |
| CORE_API | FRunnableThread () |
| virtual CORE_API | ~FRunnableThread () |
Static Public Member Functions | |
| static int | TranslateThreadPriority (EThreadPriority Priority) |
Static Public Member Functions inherited from FRunnableThread | |
| static CORE_API uint32 | GetTlsSlot () |
| static CORE_API FRunnableThread * | Create (class FRunnable *InRunnable, const TCHAR *ThreadName, uint32 InStackSize=0, EThreadPriority InThreadPri=TPri_Normal, uint64 InThreadAffinityMask=FPlatformAffinity::GetNoAffinityMask(), EThreadCreateFlags InCreateFlags=EThreadCreateFlags::None) |
| static FRunnableThread * | GetRunnableThread () |
Protected Member Functions | |
| virtual bool | CreateInternal (FRunnable *InRunnable, const TCHAR *InThreadName, uint32 InStackSize=0, EThreadPriority InThreadPri=TPri_Normal, uint64 InThreadAffinityMask=0, EThreadCreateFlags InCreateFlags=EThreadCreateFlags::None) override |
Protected Member Functions inherited from FRunnableThread | |
| CORE_API void | SetTls () |
| CORE_API void | FreeTls () |
Additional Inherited Members | |
Public Types inherited from FRunnableThread | |
| enum class | ThreadType { Real , Fake , Forkable } |
Protected Attributes inherited from FRunnableThread | |
| FString | ThreadName |
| FRunnable * | Runnable |
| FEvent * | ThreadInitSyncEvent |
| uint64 | ThreadAffinityMask |
| EThreadPriority | ThreadPriority |
| uint32 | ThreadID |
This is the base interface for all runnable thread classes. It specifies the methods used in managing its life cycle.
|
inline |
|
inlineoverrideprotectedvirtual |
Creates the thread with the specified stack size and thread priority.
| InRunnable | The runnable object to execute |
| ThreadName | Name of the thread |
| InStackSize | The size of the stack to create. 0 means use the current thread's stack size |
| InThreadPri | Tells the thread whether it needs to adjust its priority or not. Defaults to normal priority |
Implements FRunnableThread.
Tells the thread to exit. If the caller needs to know when the thread has exited, it should use the bShouldWait value. It's highly recommended not to kill the thread without waiting for it. Having a thread forcibly destroyed can cause leaks and deadlocks.
The kill method is calling Stop() on the runnable to kill the thread gracefully.
| bShouldWait | If true, the call will wait infinitely for the thread to exit. |
Implements FRunnableThread.
|
overridevirtual |
Changes the thread affinity of the currently running thread
| ThreadAffinityMask | The thread affinity to change to (can be 0 to keep previously set affinity mask) |
| ProcessorGroup | The thread group to change to |
Reimplemented from FRunnableThread.
|
inlineoverridevirtual |
Changes the thread priority of the currently running thread
| NewPriority | The thread priority to change to |
Implements FRunnableThread.
Tells the thread to either pause execution or resume depending on the passed in value.
| bShouldPause | Whether to pause the thread (true) or resume (false) |
Implements FRunnableThread.
|
static |
Halts the caller until this thread is has completed its work.
Implements FRunnableThread.