20 #ifndef _OPENTHREADS_THREAD_
21 #define _OPENTHREADS_THREAD_
23 #include <sys/types.h>
25 #include <OpenThreads/Mutex>
64 static int SetConcurrency(
int concurrencyLevel);
73 static int GetConcurrency();
85 THREAD_PRIORITY_DEFAULT
97 THREAD_SCHEDULE_DEFAULT
115 static Thread *CurrentThread();
132 static int YieldCurrentThread();
159 size_t getProcessId();
189 virtual int cancel();
211 int setSchedulePriority(ThreadPriority priority);
221 int getSchedulePriority();
237 int setSchedulePolicy(ThreadPolicy policy);
247 int getSchedulePolicy();
259 int setStackSize(
size_t size);
268 size_t getStackSize();
273 void printSchedulingInfo();
294 int setCancelModeDisable();
302 int setCancelModeAsynchronous();
310 int setCancelModeDeferred();
323 virtual void run() = 0;
343 int setProcessorAffinity(
unsigned int cpunum );
352 static int microSleep(
unsigned int microsec);
359 friend class ThreadPrivateActions;
379 static ThreadPriority s_masterThreadPriority;
384 static bool s_isInitialized;
389 #endif // !_OPENTHREADS_THREAD_
This class provides an object-oriented thread interface.
#define OPENTHREAD_EXPORT_DIRECTIVE
void * getImplementation()
OPENTHREAD_EXPORT_DIRECTIVE int GetNumberOfProcessors()
static ThreadPriority GetMasterPriority()
virtual void cancelCleanup()
OPENTHREAD_EXPORT_DIRECTIVE int SetProcessorAffinityOfCurrentThread(unsigned int cpunum)