DispatcherPriority 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
Dispatcher를 통해 작업이 호출되는 우선 순위를 설명합니다.
public enum class DispatcherPriority
public enum DispatcherPriority
type DispatcherPriority =
Public Enum DispatcherPriority
- 상속
필드
ApplicationIdle | 2 | 열거형 값이 2입니다. 애플리케이션이 유휴 상태일 때 작업이 처리됩니다. |
Background | 4 | 열거형 값이 4입니다. 유휴 상태가 아닌 다른 모든 작업이 완료된 후 작업이 처리됩니다. |
ContextIdle | 3 | 열거형 값이 3입니다. 백그라운드 작업이 완료된 후 작업이 처리됩니다. |
DataBind | 8 | 열거형 값이 8입니다. 데이터 바인딩과 동일한 우선 순위로 작업이 처리됩니다. |
Inactive | 0 | 열거형 값이 0입니다. 작업이 처리되지 않습니다. |
Input | 5 | 열거형 값이 5입니다. 입력과 동일한 우선 순위로 작업이 처리됩니다. |
Invalid | -1 | 열거형 값이 -1입니다. 잘못된 우선 순위입니다. |
Loaded | 6 | 열거형 값이 6입니다. 레이아웃과 렌더링이 종료되었지만 입력 우선 순위의 항목이 처리되기 전에 작업이 처리됩니다. 특히 Loaded 이벤트를 발생시킬 때 사용됩니다. |
Normal | 9 | 열거형 값이 9입니다. 보통 우선 순위로 작업이 처리됩니다. 일반적인 애플리케이션 우선 순위입니다. |
Render | 7 | 열거형 값이 7입니다. 렌더링과 동일한 우선 순위로 작업이 처리됩니다. |
Send | 10 | 열거형 값이 10입니다. 다른 비동기 작업 전에 작업이 처리됩니다. 가장 높은 우선 순위입니다. |
SystemIdle | 1 | 열거형 값이 1입니다. 시스템이 유휴 상태일 때 작업이 처리됩니다. |
예제
다음 예제에서는 메서드를 Dispatcher.BeginInvoke 호출하고 하나의 인수를 사용하여 대리자를 전달합니다. 우선 순위는 .로 설정됩니다 Normal
.
// Schedule the update function in the UI thread.
tomorrowsWeather.Dispatcher.BeginInvoke(
System.Windows.Threading.DispatcherPriority.Normal,
new OneArgDelegate(UpdateUserInterface),
weather);
' Schedule the update function in the UI thread.
tomorrowsWeather.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, New OneArgDelegate(AddressOf UpdateUserInterface), weather)
설명
현재 버전의 WPF에 해당하는 ApplicationIdle
ContextIdle
특정 시스템 상태 또는 "유휴"가 없습니다. 둘 다 여전히 유효한 우선 순위입니다. 우선 순위 ContextIdle
가 높은 작업은 우선 순위가 1인 작업보다 우선 순위 SystemIdle
가 높습니다.
Dispatcher 특정 비율의 CPU 초과 하면 작업의 실행을 제한 하지 않습니다. 프로세스를 제한하는 한 가지 방법은 타이머를 사용하는 것입니다.
우선 순위Send
에 Dispatcher 따라 작업을 자체적으로 사용하여 Dispatcher.Invoke 게시하는 경우 작업은 큐를 우회하고 즉시 실행됩니다.