![]() |
OpenSplice ISO C++ 2 DCPS
v6.x
ISO C++ 2 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
|
This QosPolicy specifies the scheduling parameters that will be used for a thread that is spawned by the DomainParticipant.
NOTE: Some scheduling parameters may not be supported by the underlying Operating System, or that you may need special privileges to select particular settings.
NOTE: This is an OpenSplice-specific QosPolicy, it is not part of the DDS Specification.
Value | Meaning | Concerns | RxO | Changeable |
---|---|---|---|---|
A SchedulingClassQosPolicyKind: scheduling_class.kind | Specifies the scheduling class used by the Operating System, which may be SCHEDULE_DEFAULT, SCHEDULE_TIMESHARING or SCHEDULE_REALTIME. Threads can only be spawned within the scheduling classes that are supported by the underlying Operating System. | DomainParticipant | N/A | No |
A SchedulingPriorityQosPolicyKind: scheduling_priority_kind.kind | specifies the priority type, which may be either PRIORITY_RELATIVE or PRIORITY_ABSOLUTE. | |||
A long: scheduling_priority | Specifies the priority that will be assigned to threads spawned by the DomainParticipant. Threads can only be spawned with priorities that are supported by the underlying Operating System. |
This QosPolicy specifies the scheduling parameters that will be used for threads spawned by the DomainParticipant. Note that some scheduling parameters may not be supported by the underlying Operating System, or that you may need special privileges to select particular settings. Refer to the documentation of your OS for more details on this subject.
Although the behaviour of the scheduling_class is highly dependent on the underlying OS, in general it can be said that when running in a Timesharing class your thread will have to yield execution to other threads of equal priority regularly. In a Realtime class your thread normally runs until completion, and can only be pre-empted by higher priority threads. Often the highest range of priorities is not accessible through a Timesharing Class.
The scheduling_priority_kind determines whether the specified scheduling_priority should be interpreted as an absolute priority, or whether it should be interpreted relative to the priority of its creator, in this case the priority of the thread that created the DomainParticipant.