|
|
A thread is a separate execution context that exists in the same address space. Threads make better use of multiple processor machines and allow blocking one execution thread while allowing other to run.
enum Priority { Lowest, Low, Normal, High, Highest } | Priority |
Running priorities, their mapping is operating system dependent
void cleanup ()
| cleanup |
[virtual]
This method is called when the current thread terminates.
bool startup ()
| startup |
Actually starts running the new thread which lingers after creation
Returns: False if an error occured, true if started ok
bool error ()
| error |
[const]
Check if the thread creation failed
Returns: True if an error occured, false if created ok
bool running ()
| running |
[const]
Check if the thread is running or not
Returns: True if running, false if it has terminated or no startup called
inline int locks ()
| locks |
[const]
Count how many Yate mutexes are kept locked by this thread
Returns: Number of Mutex locks held by this thread
inline bool locked ()
| locked |
[const]
Check if the thread is currently helding or attempting to lock a mutex
Returns: True if the current thread is in an unsafe to cancel state
const char* name ()
| name |
[const]
Get the name of this thread
Returns: The pointer that was passed in the constructor
const char* currentName ()
| currentName |
[static]
Get the name of the currently running thread
Returns: The pointer that was passed in the thread's constructor
void yield (bool exitCheck = false)
| yield |
[static]
Give up the currently running timeslice. Note that on some platforms it also sleeps for the operating system's scheduler resolution
Parameters:
exitCheck | Terminate the thread if asked so |
void idle (bool exitCheck = false)
| idle |
[static]
Sleep for a system dependent period adequate for an idle thread. On most operating systems this is a 5 msec sleep.
Parameters:
exitCheck | Terminate the thread if asked so |
void sleep (unsigned int sec, bool exitCheck = false)
| sleep |
[static]
Sleep for a number of seconds
Parameters:
sec | Number of seconds to sleep |
exitCheck | Terminate the thread if asked so |
void msleep (unsigned long msec, bool exitCheck = false)
| msleep |
[static]
Sleep for a number of milliseconds
Parameters:
msec | Number of milliseconds to sleep |
exitCheck | Terminate the thread if asked so |
void usleep (unsigned long usec, bool exitCheck = false)
| usleep |
[static]
Sleep for a number of microseconds
Parameters:
usec | Number of microseconds to sleep, may be rounded to milliseconds on some platforms |
exitCheck | Terminate the thread if asked so |
unsigned long idleUsec ()
| idleUsec |
[static]
Get the platform dependent idle sleep interval in microseconds
Returns: Number of microseconds each call to idle() will sleep
unsigned long idleMsec ()
| idleMsec |
[static]
Get the platform dependent idle sleep interval in milliseconds
Returns: Number of milliseconds each call to idle() will sleep
void idleMsec (unsigned long msec)
| idleMsec |
[static]
Set the idle sleep interval or reset to platform default
Parameters:
msec | Sleep interval in milliseconds, platform default if zero |
Thread* current ()
| current |
[static]
Get a pointer to the currently running thread
Returns: A pointer to the current thread or NULL for the main thread or threads created by other libraries
int count ()
| count |
[static]
Get the number of Yate created threads
Returns: Count of current Thread objects
bool check (bool exitNow = true)
| check |
[static]
Check if the current thread was asked to terminate.
Parameters:
exitNow | If thread is marked as cancelled then terminate immediately |
Returns: False if thread should continue running, true if it should stop
void exit ()
| exit |
[static]
Terminates the current thread.
void cancel (bool hard = false)
| cancel |
Terminates the specified thread.
Parameters:
hard | Kill the thread the hard way rather than just setting an exit check marker |
inline bool isCurrent ()
| isCurrent |
[const]
Check if this thread is the currently running thread
Returns: True if this is the current thread
Priority priority (const char* name, Priority defvalue = Normal)
| priority |
[static]
Convert a priority name to a thread priority level
Parameters:
name | Name of the requested level |
defvalue | Priority to return in case of an invalid name |
Returns: A thread priority level
const char* priority (Priority prio)
| priority |
[static]
Convert a priority level to a textual name
Parameters:
prio | Priority level to convert |
Returns: Name of the level or NULL if an invalid argument was provided
void killall ()
| killall |
[static]
Kills all other running threads. Ouch! Must be called from the main thread or it does nothing.
void preExec ()
| preExec |
[static]
On some platforms this method kills all other running threads. Must be called after fork() but before any exec*() call.
int lastError ()
| lastError |
[static]
Get the last thread error
Returns: The value returned by GetLastError() (on Windows) or the value of C library 'errno' variable otherwise
inline bool errorString (String& buffer)
| errorString |
[static]
Get the last thread error's string from system.
Parameters:
buffer | The destination string |
Returns: True if an error string was retrieved. If false is returned, the buffer is filled with a generic string indicating an unknown error and its code
bool errorString (String& buffer, int code)
| errorString |
[static]
Get an error string from system. On Windows the code parameter must be a code returned by GetLastError(). Otherwise, the error code should be a valid value for the C library 'errno' variable
Parameters:
buffer | The destination string |
code | The error code |
Returns: True if an error string was retrieved. If false is returned, the buffer is filled with a generic string indicating an unknown error and its code
Thread (const char *name = 0, Priority prio = Normal)
| Thread |
[protected]
Creates and starts a new thread
Parameters:
name | Static name of the thread (for debugging purpose only) |
prio | Thread priority |
Thread (const char *name, const char* prio)
| Thread |
[protected]
Creates and starts a new thread
Parameters:
name | Static name of the thread (for debugging purpose only) |
prio | Thread priority level name |
~Thread ()
| ~Thread |
[protected virtual]
The destructor is called when the thread terminates
Generated by: paulc on bussard on Fri Dec 21 16:28:34 2012, using kdoc 2.0a54. |