#include <thread_fast.h>
Public Member Functions | |
thread_fast_t () | |
~thread_fast_t () | |
int | create (thread_func_t aFunc, void *aData) |
Returns zero if no error. | |
void | join (void) |
void | cancel (void) |
Called only by the main thread. | |
bool | exec_lock (void) |
Private Member Functions | |
thread_fast_t (const thread_fast_t &) | |
thread_fast_t & | operator= (const thread_fast_t &) |
void * | funcMethod (void) |
Static Private Member Functions | |
static void * | func (void *aThr) |
Private Attributes | |
Mtx | _MtxA |
Mtx | _MtxB |
volatile bool | isRunning |
volatile bool | mustExit |
volatile thread_func_t | _Func |
void * | _Data |
rpa::thread_fast_t< Thr, Mtx >::thread_fast_t | ( | const thread_fast_t< Thr, Mtx > & | ) | [private] |
rpa::thread_fast_t< Thr, Mtx >::thread_fast_t | ( | ) | [inline] |
rpa::thread_fast_t< Thr, Mtx >::~thread_fast_t | ( | ) | [inline] |
void rpa::thread_fast_t< Thr, Mtx >::cancel | ( | void | ) | [inline] |
Called only by the main thread.
int rpa::thread_fast_t< Thr, Mtx >::create | ( | thread_func_t | aFunc, | |
void * | aData | |||
) | [inline] |
Returns zero if no error.
Does not start the real thread if not necessary. If it was stopped, it has to be restarted.
bool rpa::thread_fast_t< Thr, Mtx >::exec_lock | ( | void | ) | [inline] |
static void* rpa::thread_fast_t< Thr, Mtx >::func | ( | void * | aThr | ) | [inline, static, private] |
void* rpa::thread_fast_t< Thr, Mtx >::funcMethod | ( | void | ) | [inline, private] |
void rpa::thread_fast_t< Thr, Mtx >::join | ( | void | ) | [inline] |
thread_fast_t& rpa::thread_fast_t< Thr, Mtx >::operator= | ( | const thread_fast_t< Thr, Mtx > & | ) | [private] |
void* rpa::thread_fast_t< Thr, Mtx >::_Data [private] |
volatile thread_func_t rpa::thread_fast_t< Thr, Mtx >::_Func [private] |
These two variables are read and written by the main thread and the sub-thread, but all writes are protected by _MtxA
Mtx rpa::thread_fast_t< Thr, Mtx >::_MtxA [private] |
Mtx rpa::thread_fast_t< Thr, Mtx >::_MtxB [private] |
volatile bool rpa::thread_fast_t< Thr, Mtx >::isRunning [private] |
volatile bool rpa::thread_fast_t< Thr, Mtx >::mustExit [private] |