Navigation
API > API/Runtime > API/Runtime/Core
Interface for "runnable" objects.
A runnable object is an object that is "run" on an arbitrary thread. The call usage pattern is Init(), Run(), Exit(). The thread that is going to "run" this object always uses those calling semantics. It does this on the thread that is created so that any thread specific uses (TLS, etc.) are available in the contexts of those calls. A "runnable" does all initialization in Init().
If initialization fails, the thread stops execution and returns an error code. If it succeeds, Run() is called where the real threaded work is done. Upon completion, Exit() is called to allow correct clean up.
| Name | FRunnable |
| Type | class |
| Header File | /Engine/Source/Runtime/Core/Public/HAL/Runnable.h |
| Include Path | #include "HAL/Runnable.h" |
Syntax
class FRunnable
Derived Classes
FRunnable derived class hierarchy
- FAnalysisProcessor::FImpl
- FAsyncWriter
- IAudioMixerPlatformInterface
- FBackChannelOSCConnection
- FBackChannelThreadedListener
- FCaptureTimerManager::FTimerManagerRunnable
- FChunkInstallTask
- FChunkMountTask
- FChunkSetupTask
- FControlCommunication::FCommunicationRunnable
- FDirectSocketStream
- FDiscoveryBeaconReceiver
- FDisplayClusterFillDerivedDataCacheWorker
- FDMXOutputPort
- FExportWorker
- FFastBuildJobProcessor
- FGameThreadHitchHeartBeatThreaded
- FInteractiveProcess
- FLiveLinkFreeDSource
- FLiveLinkHubExportServer::FLiveLinkHubClientExportRunner
- FLiveLinkInputDeviceSource
- FLiveLinkMessageBusDiscoveryManager
- FLiveLinkVRPNSource
- FLiveLinkXRSource
- FMediaIOCoreWaitVSyncThread
- FMediaRunnable
- FMetaHumanLocalLiveLinkSubject
- FMetaHumanMediaSamplerLiveLinkSubject::FMediaSamplerRunnable
- FMicrosoftSpatialSound
- FMixerNullCallback
- FMonitoredProcess
- FMovieSceneSerializerRunnable
- FMultichannelTcpReceiver
- FMultichannelTcpSender
- FOnlineAsyncTaskManager
- FPreLoadScreenSlateThreadTask
- FRemoteControlWebInterfaceProcess
- FRemoteSessionImageChannel
- FShaderCompileThreadRunnableBase
- FTcpListener
- FThreadHeartBeat
- FUdpSocketReceiver
- FUdpSocketSender
- TAsyncRunnable
- TQueueRunner
- UIpNetDriver::FReceiveThreadRunnable
- USimpleAudioEncoder
- USimpleVideoDecoder
- USimpleVideoEncoder
- FStreamSearch
- FTCPServer
- FUbaJobProcessor
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FRunnable() |
Virtual destructor | HAL/Runnable.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void Exit () |
Exits the runnable object. | HAL/Runnable.h | |
virtual FSingleThreadRunnable * GetSingleThreadInterface () |
Gets single thread interface pointer used for ticking this runnable when multi-threading is disabled. | HAL/Runnable.h | |
virtual bool Init () |
Initializes the runnable object. | HAL/Runnable.h | |
uint32 Run () |
Runs the runnable object. | HAL/Runnable.h | |
virtual void Stop () |
Stops the runnable object.This is called if a thread is requested to terminate early. | HAL/Runnable.h |