Type Alias singletonThread::ThreadPriority
source · pub type ThreadPriority = ThreadPriority;Aliased Type§
enum ThreadPriority {
Min,
Crossplatform(ThreadPriorityValue),
Os(ThreadPriorityOsValue),
Max,
}Variants§
Min
Holds a value representing the minimum possible priority.
The [ThreadPriority::Min] value is mapped to [WinAPIThreadPriority::Lowest] and not
[WinAPIThreadPriority::Idle] to avoid unexpected drawbacks. Use the specific value
to set it to [WinAPIThreadPriority::Idle] when it is really needed.
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.
The value is matched among possible values in Windows from [WinAPIThreadPriority::Idle] till
[WinAPIThreadPriority::TimeCritical]. This is due to windows only having from 7 to 9 possible
thread priorities and not 100 as it is allowed to have in the [ThreadPriority::Crossplatform]
variant.
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.
The [ThreadPriority::Max] value is mapped to [WinAPIThreadPriority::Highest] and not
[WinAPIThreadPriority::TimeCritical] to avoid unexpected drawbacks. Use the specific value
to set it to [WinAPIThreadPriority::TimeCritical] when it is really needed.