Open CASCADE Technology 7.8.0
|
Thread with back reference to thread pool and thread index in it. More...
#include <OSD_ThreadPool.hxx>
Public Member Functions | |
EnumeratedThread (bool theIsSelfThread=false) | |
Main constructor. | |
bool | Lock () |
Occupy this thread for thread pool launcher. | |
void | Free () |
Release this thread for thread pool launcher; should be called only after successful OccupyThread(). | |
void | WakeUp (JobInterface *theJob, bool theToCatchFpe) |
Wake up the thread. | |
void | WaitIdle () |
Wait the thread going into Idle state (finished jobs). | |
EnumeratedThread (const EnumeratedThread &theCopy) | |
Copy constructor. | |
EnumeratedThread & | operator= (const EnumeratedThread &theCopy) |
Assignment operator. | |
void | Assign (const EnumeratedThread &theCopy) |
Assignment operator. | |
![]() | |
OSD_Thread () | |
Empty constructor. | |
OSD_Thread (const OSD_ThreadFunction &func) | |
Initialize the tool by the thread function. | |
OSD_Thread (const OSD_Thread &other) | |
Copy constructor. | |
void | Assign (const OSD_Thread &other) |
Copy thread handle from other OSD_Thread object. | |
void | operator= (const OSD_Thread &other) |
~OSD_Thread () | |
Destructor. Detaches the thread if it wasn't done already. | |
void | SetPriority (const Standard_Integer thePriority) |
void | SetFunction (const OSD_ThreadFunction &func) |
Initialize the tool by the thread function. If the current thread handle is not null, nullifies it. | |
Standard_Boolean | Run (const Standard_Address data=0, const Standard_Integer WNTStackSize=0) |
Starts a thread with thread function given in constructor, passing the specified input data (as void *) to it. The parameter WNTStackSize (on Windows only) specifies size of the stack to be allocated for the thread (by default - the same as for the current executable). Returns True if thread started successfully. | |
void | Detach () |
Detaches the execution thread from this Thread object, so that it cannot be waited. Note that mechanics of this operation is different on UNIX/Linux (the thread is put to detached state) and Windows (the handle is closed). However, the purpose is the same: to instruct the system to release all thread data upon its completion. | |
Standard_Boolean | Wait () |
Waits till the thread finishes execution. | |
Standard_Boolean | Wait (Standard_Address &theResult) |
Wait till the thread finishes execution. Returns True if wait was successful, False in case of error. | |
Standard_Boolean | Wait (const Standard_Integer time, Standard_Address &theResult) |
Waits for some time and if the thread is finished, it returns the result. The function returns false if the thread is not finished yet. | |
Standard_ThreadId | GetId () const |
Returns ID of the currently controlled thread ID, or 0 if no thread is run. | |
Additional Inherited Members | |
![]() | |
static Standard_ThreadId | Current () |
Auxiliary: returns ID of the current thread. | |
Thread with back reference to thread pool and thread index in it.
Main constructor.
|
inline |
Copy constructor.
|
inline |
Assignment operator.
void OSD_ThreadPool::EnumeratedThread::Free | ( | ) |
Release this thread for thread pool launcher; should be called only after successful OccupyThread().
bool OSD_ThreadPool::EnumeratedThread::Lock | ( | ) |
Occupy this thread for thread pool launcher.
|
inline |
Assignment operator.
void OSD_ThreadPool::EnumeratedThread::WaitIdle | ( | ) |
Wait the thread going into Idle state (finished jobs).
void OSD_ThreadPool::EnumeratedThread::WakeUp | ( | JobInterface * | theJob, |
bool | theToCatchFpe | ||
) |
Wake up the thread.