|
Orocos Real-Time Toolkit
2.5.0
|
A thread which is being run. More...
#include <rtt/os/ThreadInterface.hpp>
Public Member Functions | |
| virtual bool | start ()=0 |
| Start the Thread. | |
| virtual bool | stop ()=0 |
| Stop the Thread. | |
| virtual Seconds | getPeriod () const =0 |
| Get the periodicity in Seconds. | |
| virtual bool | setPeriod (Seconds new_period)=0 |
| Set the periodicity in Seconds. | |
| virtual nsecs | getPeriodNS () const =0 |
| Get the periodicity in nanoseconds. | |
| virtual bool | isRunning () const =0 |
| Returns whether the thread is running. | |
| virtual bool | isActive () const =0 |
| Returns whether the thread is active. | |
| virtual const char * | getName () const =0 |
| Read the name of this task. | |
| virtual RTOS_TASK * | getTask ()=0 |
| Get the RTOS_TASK pointer. | |
| virtual const RTOS_TASK * | getTask () const =0 |
| const version of the above. | |
| virtual bool | setScheduler (int sched_type)=0 |
| Change the scheduler policy in which this thread runs. | |
| virtual int | getScheduler () const =0 |
| Get the scheduler policy in which this thread runs. | |
| virtual bool | setPriority (int priority)=0 |
| Set the priority of this Thread. | |
| virtual int | getPriority () const =0 |
| The priority of this Thread. | |
| virtual void | setMaxOverrun (int m)=0 |
| virtual int | getMaxOverrun () const =0 |
| virtual void | setWaitPeriodPolicy (int p)=0 |
| Set the wait policy of a periodic thread. | |
| virtual void | yield ()=0 |
| Yields (put to the back of the scheduler queue) the calling thread. | |
| unsigned int | threadNumber () const |
| The unique thread number (within the same process). | |
| bool | isSelf () const |
Protected Attributes | |
| int | threadnb |
| Threads are given an unique number, which follows thread creation order. | |
A thread which is being run.
The periodicity is the time between the starting of two runs or zero for non periodic threads.
Definition at line 56 of file ThreadInterface.hpp.
| virtual Seconds RTT::os::ThreadInterface::getPeriod | ( | ) | const [pure virtual] |
Get the periodicity in Seconds.
Return zero if non periodic.
Implemented in RTT::os::Thread, RTT::Activity, and RTT::os::MainThread.
| virtual nsecs RTT::os::ThreadInterface::getPeriodNS | ( | ) | const [pure virtual] |
Get the periodicity in nanoseconds.
Return zero if non periodic.
Implemented in RTT::os::Thread, and RTT::os::MainThread.
| virtual int RTT::os::ThreadInterface::getPriority | ( | ) | const [pure virtual] |
The priority of this Thread.
Implemented in RTT::os::Thread, and RTT::os::MainThread.
| virtual int RTT::os::ThreadInterface::getScheduler | ( | ) | const [pure virtual] |
Get the scheduler policy in which this thread runs.
Implemented in RTT::os::Thread, and RTT::os::MainThread.
| virtual RTOS_TASK* RTT::os::ThreadInterface::getTask | ( | ) | [pure virtual] |
Get the RTOS_TASK pointer.
Implemented in RTT::os::Thread, and RTT::os::MainThread.
| virtual bool RTT::os::ThreadInterface::isActive | ( | ) | const [pure virtual] |
Returns whether the thread is active.
A thread is active between the invocation of start() and the invocation of stop().
Implemented in RTT::os::Thread, RTT::Activity, and RTT::os::MainThread.
| virtual bool RTT::os::ThreadInterface::isRunning | ( | ) | const [pure virtual] |
Returns whether the thread is running.
A thread is running if it is executing its loop() function or in the process of periodically calling step(). Hence for periodic threads, isRunning() == isActive() while for non-periodic threads, isRunning() is only true if isActive() and it is executing loop().
Implemented in RTT::os::Thread, RTT::Activity, RTT::extras::FileDescriptorActivity, RTT::os::MainThread, and RTT::extras::SimulationThread.
| virtual bool RTT::os::ThreadInterface::setPeriod | ( | Seconds | new_period | ) | [pure virtual] |
Set the periodicity in Seconds.
| new_period | A positive number expressing the period |
Implemented in RTT::Activity, RTT::os::Thread, and RTT::os::MainThread.
| virtual bool RTT::os::ThreadInterface::setPriority | ( | int | priority | ) | [pure virtual] |
Set the priority of this Thread.
| priority | The priority given upon construction of this thread. It has to be interpreted in the current OS scheduler. |
Implemented in RTT::os::Thread, and RTT::os::MainThread.
| virtual bool RTT::os::ThreadInterface::setScheduler | ( | int | sched_type | ) | [pure virtual] |
Change the scheduler policy in which this thread runs.
| sched_type | An OS-specific value which selects a scheduler. Orocos requires that these two values are available:
|
Your OS can in addition provide other sched_type's which map more naturally to the schedulers present. If your OS does not make a distinction between real-time and other, both values may map to the same scheduler type.
Implemented in RTT::os::Thread, and RTT::os::MainThread.
| virtual void RTT::os::ThreadInterface::setWaitPeriodPolicy | ( | int | p | ) | [pure virtual] |
Set the wait policy of a periodic thread.
| The | wait policy between ORO_WAIT_ABS (absolute wait) and ORO_WAIT_REL (relative wait) |
Implemented in RTT::os::Thread, and RTT::os::MainThread.
| virtual bool RTT::os::ThreadInterface::start | ( | ) | [pure virtual] |
Start the Thread.
Implemented in RTT::extras::FileDescriptorActivity, RTT::Activity, RTT::os::Thread, RTT::extras::IRQActivity, RTT::extras::SimulationThread, and RTT::os::MainThread.
| virtual bool RTT::os::ThreadInterface::stop | ( | ) | [pure virtual] |
Stop the Thread.
Implemented in RTT::extras::FileDescriptorActivity, RTT::Activity, RTT::os::Thread, and RTT::os::MainThread.
int RTT::os::ThreadInterface::threadnb [protected] |
Threads are given an unique number, which follows thread creation order.
Definition at line 211 of file ThreadInterface.hpp.
1.7.6.1