|
|
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
| NamedCounter* getObjCounter ()
| getObjCounter |
[const]
Get the object counter of this thread
Returns: Pointer to thread's counter for new objects
| NamedCounter* setObjCounter (NamedCounter* counter)
| setObjCounter |
Set the object counter of this thread
Parameters:
| counter | New counter object or NULL |
Returns: Pointer to old counter object
| NamedCounter* getCurrentObjCounter (bool always = false)
| getCurrentObjCounter |
[static]
Get the object counter of the current thread
Parameters:
| always | Return the object even if counting is disabled |
Returns: Pointer to current counter for new objects
| NamedCounter* setCurrentObjCounter (NamedCounter* counter)
| setCurrentObjCounter |
[static]
Set the object counter of the current thread
Parameters:
| counter | New counter object or NULL |
Returns: Pointer to old counter object
| 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 Thu Jul 24 18:41:02 2014, using kdoc 2.0a54. |