ThreadPriorityLevel Enumeration
Specifies the priority level of a thread.
Namespace: System.Diagnostics
Assembly: System (in System.dll)
| Member name | Description | |
|---|---|---|
| AboveNormal | Specifies one step above the normal priority for the associated ProcessPriorityClass. | |
| BelowNormal | Specifies one step below the normal priority for the associated ProcessPriorityClass. | |
| Highest | Specifies highest priority. This is two steps above the normal priority for the associated ProcessPriorityClass. | |
| Idle | Specifies idle priority. This is the lowest possible priority value of all threads, independent of the value of the associated ProcessPriorityClass. | |
| Lowest | Specifies lowest priority. This is two steps below the normal priority for the associated ProcessPriorityClass. | |
| Normal | Specifies normal priority for the associated ProcessPriorityClass. | |
| TimeCritical | Specifies time-critical priority. This is the highest priority of all threads, independent of the value of the associated ProcessPriorityClass. |
Every thread has a base-priority level determined by the thread's priority value and the priority class of its process. The operating system uses the base-priority level of all executable threads to determine which thread gets the next slice of processor time.
The priority level is not an absolute value, but instead is a range of priority values. The operating system computes the priority by using the process priority class to determine where, in the range specified by the PriorityLevel property, to set the thread's priority.
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.