Type Alias singletonThread::ThreadPriority
source · pub type ThreadPriority = ThreadPriority;Aliased Type§
enum ThreadPriority {
Min,
Crossplatform(ThreadPriorityValue),
Os(ThreadPriorityOsValue),
Deadline {
runtime: Duration,
deadline: Duration,
period: Duration,
flags: DeadlineFlags,
},
Max,
}Variants§
Min
Holds a value representing the minimum possible priority.
Crossplatform(ThreadPriorityValue)
Holds a platform-independent priority value. Usually used when setting a value, for sometimes it is not possible to map the operating system’s priority to this value.
Os(ThreadPriorityOsValue)
Holds an operating system specific value. If it is not possible to obtain the
[ThreadPriority::Crossplatform] variant of the value, this is returned instead.
Deadline
Fields
runtime: DurationSet this to something larger than the average computation time or to the worst-case computation time for hard real-time tasks.
flags: DeadlineFlagsDeadline flags.
Holds scheduling parameters for Deadline scheduling. These are, in order, the nanoseconds for runtime, deadline, and period. Please note that the kernel enforces runtime <= deadline <= period.
arrival/wakeup absolute deadline | start time | | | | v v v —–x––––xooooooooooooooooo––––x––––x— |<– Runtime —––>| |<———– Deadline ———–>| |<––––––– Period —————––>|
Max
Holds a value representing the maximum possible priority. Should be used with caution, it solely depends on the target os where the program is going to be running on, how it will behave. On some systems, the whole system may become frozen if not used properly.