OpenSceneGraph
|
Public Types | |
enum | Mode { HANDLE_ALL_REQUESTS, HANDLE_NON_HTTP, HANDLE_ONLY_HTTP } |
![]() | |
enum | ThreadPriority { THREAD_PRIORITY_MAX, THREAD_PRIORITY_HIGH, THREAD_PRIORITY_NOMINAL, THREAD_PRIORITY_LOW, THREAD_PRIORITY_MIN, THREAD_PRIORITY_DEFAULT } |
Enumerated Type for thread priority. More... | |
enum | ThreadPolicy { THREAD_SCHEDULE_FIFO, THREAD_SCHEDULE_ROUND_ROBIN, THREAD_SCHEDULE_TIME_SHARE, THREAD_SCHEDULE_DEFAULT } |
Enumerated Type for thread scheduling policy. More... | |
Public Member Functions | |
DatabaseThread (DatabasePager *pager, Mode mode, const std::string &name) | |
DatabaseThread (const DatabaseThread &dt, DatabasePager *pager) | |
void | setName (const std::string &name) |
const std::string & | getName () const |
void | setDone (bool done) |
bool | getDone () const |
void | setActive (bool active) |
bool | getActive () const |
virtual int | cancel () |
Cancel the thread. More... | |
virtual void | run () |
Thread's run method. More... | |
![]() | |
Referenced (bool threadSafeRefUnref) | |
Referenced (const Referenced &) | |
Referenced & | operator= (const Referenced &) |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
Set whether to use a mutex to ensure ref() and unref() are thread safe. More... | |
bool | getThreadSafeRefUnref () const |
Get whether a mutex is used to ensure ref() and unref() are thread safe. More... | |
bool | getThreadSafeRefUnref () const |
OpenThreads::Mutex * | getRefMutex () const |
Get the mutex used to ensure thread safety of ref()/unref(). More... | |
OpenThreads::Mutex * | getRefMutex () const |
int | ref () const |
Increment the reference count by one, indicating that this object has another pointer which is referencing it. More... | |
int | unref () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More... | |
int | unref_nodelete () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More... | |
int | referenceCount () const |
Return the number of pointers currently referencing this object. More... | |
ObserverSet * | getObserverSet () const |
Get the ObserverSet if one is attached, otherwise return NULL. More... | |
ObserverSet * | getOrCreateObserverSet () const |
Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. More... | |
void | addObserver (Observer *observer) const |
Add a Observer that is observing this object, notify the Observer when this object gets deleted. More... | |
void | removeObserver (Observer *observer) const |
Remove Observer that is observing this object. More... | |
![]() | |
Thread () | |
Constructor. | |
virtual | ~Thread () |
Destructor. | |
int | getThreadId () |
Get a unique thread id. More... | |
size_t | getProcessId () |
Get the thread's process id. More... | |
int | start () |
Start the thread. More... | |
int | startThread () |
int | testCancel () |
Test the cancel state of the thread. More... | |
int | setSchedulePriority (ThreadPriority priority) |
Set the thread's schedule priority. More... | |
int | getSchedulePriority () |
Get the thread's schedule priority (if able) More... | |
int | setSchedulePolicy (ThreadPolicy policy) |
Set the thread's scheduling policy (if able) More... | |
int | getSchedulePolicy () |
Get the thread's policy (if able) More... | |
int | setStackSize (size_t size) |
Set the thread's desired stack size (in bytes). More... | |
size_t | getStackSize () |
Get the thread's desired stack size. More... | |
void | printSchedulingInfo () |
Print the thread's scheduling information to stdout. | |
int | detach () |
Detach the thread from the calling process. More... | |
int | join () |
Join the calling process with the thread. More... | |
int | setCancelModeDisable () |
Disable thread cancellation altogether. More... | |
int | setCancelModeAsynchronous () |
Mark the thread to cancel asynchronously on Thread::cancel(). More... | |
int | setCancelModeDeferred () |
Mark the thread to cancel at the earliest convenience on Thread::cancel() (This is the default) More... | |
bool | isRunning () |
Query the thread's running status. More... | |
virtual void | cancelCleanup () |
Thread's cancel cleanup routine, called upon cancel(), after the cancellation has taken place, but before the thread exits completely. More... | |
void * | getImplementation () |
int | setProcessorAffinity (unsigned int cpunum) |
Thread's processor affinity method. More... | |
Protected Attributes | |
OpenThreads::Atomic | _done |
volatile bool | _active |
DatabasePager * | _pager |
Mode | _mode |
std::string | _name |
![]() | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
OpenThreads::Mutex * | _refMutex |
int | _refCount |
void * | _observerSet |
Additional Inherited Members | |
![]() | |
static OpenThreads::Mutex * | getGlobalReferencedMutex () |
Get the optional global Referenced mutex, this can be shared between all osg::Referenced. More... | |
static void | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting) |
Set whether reference counting should use a mutex for thread safe reference counting. More... | |
static bool | getThreadSafeReferenceCounting () |
Get whether reference counting is active. More... | |
static void | setDeleteHandler (DeleteHandler *handler) |
Set a DeleteHandler to which deletion of all referenced counted objects will be delegated. More... | |
static DeleteHandler * | getDeleteHandler () |
Get a DeleteHandler. More... | |
![]() | |
static int | SetConcurrency (int concurrencyLevel) |
Set the concurrency level for a running application. More... | |
static int | GetConcurrency () |
Get the concurrency level for a running application. More... | |
static Thread * | CurrentThread () |
Return a pointer to the current running thread. | |
static void | Init () |
Initialize Threading in a program. More... | |
static int | YieldCurrentThread () |
Yield the processor. More... | |
static ThreadPriority | GetMasterPriority () |
This method will return the ThreadPriority of the master process. More... | |
static int | microSleep (unsigned int microsec) |
microSleep method, equivalent to the posix usleep(microsec). More... | |
![]() | |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
|
virtual |
Cancel the thread.
Equivalent to SIGKILL.
Reimplemented from OpenThreads::Thread.
|
virtual |
Thread's run method.
Must be implemented by derived classes. This is where the action happens.
Implements OpenThreads::Thread.