Rebel Fork Framework
Urho3D::Thread Class Referenceabstract

Operating system thread. More...

#include <Urho3D/Core/Thread.h>

Inheritance diagram for Urho3D::Thread:
Urho3D::BackgroundLoader Urho3D::FileWatcher Urho3D::HttpRequest

Public Member Functions

 Thread (const ea::string &name=EMPTY_STRING)
 Construct. Does not start the thread yet.
virtual ~Thread ()
 Destruct. If running, stop and wait for thread to finish.
virtual void ThreadFunction ()=0
 The function to run in the thread.
bool Run ()
 Start running the thread. Return true if successful, or false if already running or if can not create the thread.
void Stop ()
 Set the running flag to false and wait for the thread to finish.
void SetPriority (int priority)
 Set thread priority. The thread must have been started first.
bool IsStarted () const
 Return whether thread exists.
void SetName (const ea::string &name)
 Set name of the platform thread on supported platforms. Must be called before Run().

Static Public Member Functions

static void SetMainThread ()
 Set the current thread as the main thread.
static ThreadID GetCurrentThreadID ()
static bool IsMainThread ()
 Return whether is executing in the main thread.

Static Protected Member Functions

static void * ThreadFunctionStatic (void *data)
 Helper that executes Thread::ThreadFunction().

Protected Attributes

ea::string name_ {}
 Name of the thread. It will be propagated to underlying OS thread if possible.
void * handle_
 Thread handle.
volatile bool shouldRun_
 Running flag.

Static Protected Attributes

static ThreadID mainThreadID
 Main thread's thread ID.

Detailed Description

Operating system thread.

Member Function Documentation

◆ GetCurrentThreadID()

ThreadID Urho3D::Thread::GetCurrentThreadID ( )

Return the current thread's ID.

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