An utility class to execute code in a separate execution thread.
More...
#include <thread.h>
Public Member Functions |
| Thread () |
| Construct a new thread.
|
| Thread (const Thread &from) |
| Copy constructor.
|
virtual | ~Thread () |
| Destruct the thread.
|
virtual bool | start () |
| Start the thread.
|
virtual bool | init () |
| The init function for the child thread.
|
virtual void | run ()=0 |
| The entry function for the child thread.
|
virtual void | exit () |
| Exit the child thread immediately.
|
void | cancel () |
| Cancel (stop) the child thread.
|
bool | join () |
| Wait for the exit of the child thread.
|
bool | isStopped () const |
| Return if the thread is stopped.
|
bool | isRunning () const |
| Return if the thread is running.
|
bool | isCurrent () const |
Static Public Member Functions |
static ThreadID | getSelfThreadID () |
static void | yield () |
static void | pinCurrentThread () |
static void | setName (const std::string &name) |
static void | setAffinity (const int32_t affinity) |
Detailed Description
An utility class to execute code in a separate execution thread.
Definition at line 36 of file thread.h.
Member Enumeration Documentation
Enumeration values for thread affinity.
- Enumerator:
NONE |
Don't set any affinity.
|
CORE |
Bind to a specific CPU core.
|
SOCKET |
Bind to all cores of a specific socket (CPU)
|
SOCKET_MAX |
Highest bindable CPU.
|
Definition at line 40 of file thread.h.
Constructor & Destructor Documentation
lunchbox::Thread::Thread |
( |
| ) |
|
Construct a new thread.
- Version
- 1.0
lunchbox::Thread::Thread |
( |
const Thread & |
from | ) |
|
Copy constructor.
- Version
- 1.1.2
virtual lunchbox::Thread::~Thread |
( |
| ) |
|
|
virtual |
Destruct the thread.
- Version
- 1.0
Member Function Documentation
void lunchbox::Thread::cancel |
( |
| ) |
|
Cancel (stop) the child thread.
This function is not to be called from the child thread.
- Version
- 1.0
virtual void lunchbox::Thread::exit |
( |
| ) |
|
|
virtual |
Exit the child thread immediately.
This function does not return. It is only to be called from the child thread.
- Version
- 1.0
static ThreadID lunchbox::Thread::getSelfThreadID |
( |
| ) |
|
|
static |
- Returns
- a unique identifier for the calling thread.
- Version
- 1.0
virtual bool lunchbox::Thread::init |
( |
| ) |
|
|
inlinevirtual |
The init function for the child thread.
The parent thread will not be unlocked before this function has been executed. If the thread initialization fails, that is, this method does return false, the thread will be stopped and the start() method will return false.
- Returns
- the success value of the thread initialization.
- Version
- 1.0
Definition at line 78 of file thread.h.
bool lunchbox::Thread::isCurrent |
( |
| ) |
const |
- Returns
- true if the calling thread is the same thread as this thread, false otherwise.
- Version
- 1.0
bool lunchbox::Thread::isRunning |
( |
| ) |
const |
Return if the thread is running.
Note that the thread may be neither running nor stopped if it is currently starting or stopping.
- Returns
- true if the thread is running, false if not.
- Version
- 1.0
bool lunchbox::Thread::isStopped |
( |
| ) |
const |
Return if the thread is stopped.
Note that the thread may be neither running nor stopped if it is currently starting or stopping.
- Returns
- true if the thread is stopped, false if not.
- Version
- 1.0
bool lunchbox::Thread::join |
( |
| ) |
|
Wait for the exit of the child thread.
- Returns
- true if the thread was joined, false otherwise.
- Version
- 1.0
virtual void lunchbox::Thread::run |
( |
| ) |
|
|
pure virtual |
The entry function for the child thread.
This method should contain the main execution routine for the thread and is called after a successful init().
- Version
- 1.0
virtual bool lunchbox::Thread::start |
( |
| ) |
|
|
virtual |
Start the thread.
- Returns
true
if the thread was launched and initialized successfully, false
otherwise.
- See Also
- init(), run()
- Version
- 1.0
The documentation for this class was generated from the following file: