DUNE: Uniform Navigational Environment  2022.04.1
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)
 
unsigned getPriority (void)
 
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)
 
unsigned getPriorityImpl (void)
 
- 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

◆ Thread()

Thread::Thread ( void  )

◆ ~Thread()

Thread::~Thread ( void  )
virtual

Destructor.

Member Function Documentation

◆ getPriorityImpl()

unsigned Thread::getPriorityImpl ( void  )
protectedvirtual

◆ getProcessorUsage()

int 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.

Referenced by DUNE::Tasks::Manager::measureCpuUsage().

◆ joinImpl()

void Thread::joinImpl ( void  )
protectedvirtual

◆ setPriorityImpl()

void Thread::setPriorityImpl ( Scheduler::Policy  policy,
unsigned  priority 
)
protectedvirtual

◆ startImpl()

◆ stopImpl()

void Thread::stopImpl ( void  )
protectedvirtual

Friends And Related Function Documentation

◆ dune_concurrency_thread_entry_point

void* dune_concurrency_thread_entry_point ( void *  )
friend

Referenced by startImpl().

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