DUNE: Uniform Navigational Environment  2.4.0
DUNE::Concurrency::Thread Class Reference

Detailed Description

Threads are a way for a program to split itself into two or more simultaneously running tasks.

Public Member Functions

 Thread (void)
 
virtual ~Thread (void)
 
int getProcessorUsage (void)
 
- Public Member Functions inherited from DUNE::Concurrency::Runnable
 Runnable (void)
 
virtual ~Runnable (void)
 
void start (void)
 
void stop (void)
 
void join (void)
 
void stopAndJoin (void)
 
void setPriority (Scheduler::Policy policy, unsigned priority)
 
State getState (void)
 
bool isCreated (void)
 
bool isStopping (void)
 
bool isRunning (void)
 
bool isStarting (void)
 
bool isDead (void)
 

Protected Member Functions

void startImpl (void)
 
void stopImpl (void)
 
void joinImpl (void)
 
void setPriorityImpl (Scheduler::Policy policy, unsigned priority)
 
- Protected Member Functions inherited from DUNE::Concurrency::Runnable
virtual void run (void)=0
 

Friends

void * dune_concurrency_thread_entry_point (void *)
 

Additional Inherited Members

- Public Types inherited from DUNE::Concurrency::Runnable
enum  State {
  StateStarting, StateRunning, StateStopping, StateDead,
  StateUnknown
}
 

Constructor & Destructor Documentation

DUNE::Concurrency::Thread::Thread ( void  )
DUNE::Concurrency::Thread::~Thread ( void  )
virtual

Destructor.

References DUNE::System::Error::getMessage().

Member Function Documentation

int DUNE::Concurrency::Thread::getProcessorUsage ( void  )

Retrieve the percentage of CPU time used by this thread since the last call to this function or object creation.

On multi CPU systems the CPU time is an average.

Returns
percentage of the CPU time used or -1 if this value cannot be computed.
void DUNE::Concurrency::Thread::joinImpl ( void  )
protectedvirtual
void DUNE::Concurrency::Thread::setPriorityImpl ( Scheduler::Policy  policy,
unsigned  priority 
)
protectedvirtual
void DUNE::Concurrency::Thread::startImpl ( void  )
protectedvirtual
void DUNE::Concurrency::Thread::stopImpl ( void  )
protectedvirtual

Friends And Related Function Documentation

void* dune_concurrency_thread_entry_point ( void *  )
friend

Referenced by startImpl().

Collaboration diagram for DUNE::Concurrency::Thread:
Collaboration graph