UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FFakeThread Class Reference
+ Inheritance diagram for FFakeThread:

Public Member Functions

 FFakeThread ()
 
virtual ~FFakeThread ()
 
virtual void Tick () override
 
virtual void SetThreadPriority (EThreadPriority NewPriority) override
 
virtual void Suspend (bool bShouldPause) override
 
virtual bool Kill (bool bShouldWait) override
 
virtual void WaitForCompletion () override
 
virtual FRunnableThread::ThreadType GetThreadType () const override
 
virtual bool CreateInternal (FRunnable *InRunnable, const TCHAR *InThreadName, uint32 InStackSize, EThreadPriority InThreadPri, uint64 InThreadAffinityMask, EThreadCreateFlags InCreateFlags=EThreadCreateFlags::None) override
 
- Public Member Functions inherited from FRunnableThread
virtual bool SetThreadAffinity (const FThreadAffinity &Affinity)
 
const uint32 GetThreadID () const
 
const FString & GetThreadName () const
 
EThreadPriority GetThreadPriority () const
 
CORE_API FRunnableThread ()
 
virtual CORE_API ~FRunnableThread ()
 

Static Public Attributes

static constexpr uint32 FakeIdReservedBit = 1 << 31
 

Protected Attributes

bool bIsSuspended
 
FSingleThreadRunnableSingleThreadRunnable
 
- Protected Attributes inherited from FRunnableThread
FString ThreadName
 
FRunnableRunnable
 
FEventThreadInitSyncEvent
 
uint64 ThreadAffinityMask
 
EThreadPriority ThreadPriority
 
uint32 ThreadID
 

Additional Inherited Members

- Public Types inherited from FRunnableThread
enum class  ThreadType { Real , Fake , Forkable }
 
- Static Public Member Functions inherited from FRunnableThread
static CORE_API uint32 GetTlsSlot ()
 
static CORE_API FRunnableThreadCreate (class FRunnable *InRunnable, const TCHAR *ThreadName, uint32 InStackSize=0, EThreadPriority InThreadPri=TPri_Normal, uint64 InThreadAffinityMask=FPlatformAffinity::GetNoAffinityMask(), EThreadCreateFlags InCreateFlags=EThreadCreateFlags::None)
 
static FRunnableThreadGetRunnableThread ()
 
- Protected Member Functions inherited from FRunnableThread
CORE_API void SetTls ()
 
CORE_API void FreeTls ()
 

Detailed Description

Fake thread created when multi-threading is disabled.

Constructor & Destructor Documentation

◆ FFakeThread()

FFakeThread::FFakeThread ( )
inline

Constructor.

◆ ~FFakeThread()

virtual FFakeThread::~FFakeThread ( )
inlinevirtual

Virtual destructor.

Member Function Documentation

◆ CreateInternal()

virtual bool FFakeThread::CreateInternal ( FRunnable InRunnable,
const TCHAR InThreadName,
uint32  InStackSize,
EThreadPriority  InThreadPri,
uint64  InThreadAffinityMask,
EThreadCreateFlags  InCreateFlags = EThreadCreateFlags::None 
)
inlineoverridevirtual

Creates the thread with the specified stack size and thread priority.

Parameters
InRunnableThe runnable object to execute
ThreadNameName of the thread
InStackSizeThe size of the stack to create. 0 means use the current thread's stack size
InThreadPriTells the thread whether it needs to adjust its priority or not. Defaults to normal priority
Returns
True if the thread and all of its initialization was successful, false otherwise

Implements FRunnableThread.

Reimplemented in FForkableThread.

◆ GetThreadType()

virtual FRunnableThread::ThreadType FFakeThread::GetThreadType ( ) const
inlineoverridevirtual

Returns the type of thread this is

Reimplemented from FRunnableThread.

Reimplemented in FForkableThread.

◆ Kill()

virtual bool FFakeThread::Kill ( bool  bShouldWait)
inlineoverridevirtual

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.

Parameters
bShouldWaitIf true, the call will wait infinitely for the thread to exit.
Returns
Always true

Implements FRunnableThread.

Reimplemented in FForkableThread.

◆ SetThreadPriority()

virtual void FFakeThread::SetThreadPriority ( EThreadPriority  NewPriority)
inlineoverridevirtual

Changes the thread priority of the currently running thread

Parameters
NewPriorityThe thread priority to change to

Implements FRunnableThread.

Reimplemented in FForkableThread.

◆ Suspend()

virtual void FFakeThread::Suspend ( bool  bShouldPause)
inlineoverridevirtual

Tells the thread to either pause execution or resume depending on the passed in value.

Parameters
bShouldPauseWhether to pause the thread (true) or resume (false)

Implements FRunnableThread.

Reimplemented in FForkableThread.

◆ Tick()

virtual void FFakeThread::Tick ( )
inlineoverridevirtual

Tick one time per frame.

Reimplemented from FRunnableThread.

Reimplemented in FForkableThread.

◆ WaitForCompletion()

virtual void FFakeThread::WaitForCompletion ( )
inlineoverridevirtual

Halts the caller until this thread is has completed its work.

Implements FRunnableThread.

Reimplemented in FForkableThread.

Member Data Documentation

◆ bIsSuspended

bool FFakeThread::bIsSuspended
protected

Thread is suspended.

◆ FakeIdReservedBit

constexpr uint32 FFakeThread::FakeIdReservedBit = 1 << 31
staticconstexpr

Use the MSB as a mask to prevent clashes between kernel assigned thread ids and fake thread ids

◆ SingleThreadRunnable

FSingleThreadRunnable* FFakeThread::SingleThreadRunnable
protected

Runnable object associated with this thread.


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