|
|
| plTaskWorkerThread (plWorkerThreadType::Enum threadType, plUInt32 uiThreadNumber) |
| | Tells the worker thread what tasks to execute and which thread index it has.
|
| |
|
plResult | DeactivateWorker () |
| | Deactivates the thread. Returns failure, if the thread is currently still running.
|
| |
|
|
double | GetThreadUtilization (plUInt32 *pNumTasksExecuted=nullptr) |
| | Returns the last utilization value (0 - 1 range). Optionally returns how many tasks it executed recently.
|
| |
|
void | UpdateThreadUtilization (plTime timePassed) |
| | Computes the thread utilization by dividing the thread active time by the time that has passed since the last update.
|
| |
|
| virtual plUInt32 | Run () override |
| | The run function can be used to implement a long running task in a thread in a platform independent way.
|
| |
|
plTaskWorkerState | WakeUpIfIdle () |
| | If the thread is currently idle, this will wake it up and return PL_SUCCESS.
|
| |
|
| enum | plThreadStatus { Created = 0
, Running
, Finished
} |
| | Describes the thread status.
|
| |
|
| plThread (plStringView sName="plThread", plUInt32 uiStackSize=128 *1024) |
| | Initializes the runnable class.
|
| |
|
virtual | ~plThread () |
| | Destructor checks if the thread is deleted while still running, which is not allowed as this is a data hazard.
|
| |
|
plThreadStatus | GetThreadStatus () const |
| | Returns the thread status.
|
| |
|
bool | IsRunning () const |
| | Helper function to determine if the thread is running.
|
| |
|
const char * | GetThreadName () const |
| | Returns the thread name.
|
| |
| | plOSThread (plOSThreadEntryPoint threadEntryPoint, void *pUserData=nullptr, plStringView sName="plOSThread", plUInt32 uiStackSize=128 *1024) |
| | Initializes the thread instance (e.g. thread creation etc.)
|
| |
|
virtual | ~plOSThread () |
| | Destructor.
|
| |
|
void | Start () |
| | Starts the thread.
|
| |
| void | Join () |
| | Waits in the calling thread until the thread has finished execution (e.g. returned from the thread function)
|
| |
|
const plThreadID & | GetThreadID () const |
| | Returns the thread ID of the thread object, may be used in comparison operations with plThreadUtils::GetCurrentThreadID() for example.
|
| |
|
static const plThread * | GetCurrentThread () |
| | Returns the current plThread if the current platform thread is an plThread. Returns nullptr otherwise.
|
| |
|
static plInt32 | GetThreadCount () |
| | Returns how many plOSThreads are currently active.
|
| |
| static plEvent< const plThreadEvent &, plMutex > | s_ThreadEvents |
| | These events inform about threads starting and finishing.
|
| |
|
plThreadHandle | m_hHandle |
| |
|
plThreadID | m_ThreadID |
| |
|
plOSThreadEntryPoint | m_EntryPoint |
| |
|
void * | m_pUserData |
| |
|
plString | m_sName |
| |
|
plUInt32 | m_uiStackSize |
| |
◆ Run()
| plUInt32 plTaskWorkerThread::Run |
( |
| ) |
|
|
overrideprivatevirtual |
The run function can be used to implement a long running task in a thread in a platform independent way.
Implements plThread.
The documentation for this class was generated from the following files:
- Code/Engine/Foundation/Threading/Implementation/TaskWorkerThread.h
- Code/Engine/Foundation/Threading/Implementation/TaskWorkerThread.cpp