Dispatcher.BeginInvoke 메서드

정의

연결된 스레드 Dispatcher 에서 대리자를 비동기적으로 실행합니다.

오버로드

Name Description
BeginInvoke(Delegate, Object[])

생성된 스레드 Dispatcher 에서 지정된 인수를 사용하여 지정된 대리자를 비동기적으로 실행합니다.

BeginInvoke(DispatcherPriority, Delegate)

연결된 스레드 Dispatcher 의 지정된 우선 순위에서 지정된 대리자를 비동기적으로 실행합니다.

BeginInvoke(Delegate, DispatcherPriority, Object[])

지정된 인수를 만든 스레드 Dispatcher 에서 지정된 우선 순위의 지정된 인수를 사용하여 지정된 대리자를 비동기적으로 실행합니다.

BeginInvoke(DispatcherPriority, Delegate, Object)

지정된 우선 순위에서 지정된 대리자를 비동기적으로 실행하고 연결된 스레드 Dispatcher 에서 지정된 인수를 사용하여 실행합니다.

BeginInvoke(DispatcherPriority, Delegate, Object, Object[])

지정된 우선 순위에서 지정된 대리자를 비동기적으로 실행하고 연결된 스레드에서 지정된 인수 배열을 Dispatcher 사용하여 실행합니다.

설명

WPF에서 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 만든 내용을 Button 업데이트할 수 없습니다. 백그라운드 스레드가 Content 속성에 Button액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 작업에 작업을 Dispatcher 위임해야 합니다. 이 작업은 둘 중 하나 Invoke 또는 BeginInvoke.를 사용하여 수행됩니다. Invoke 는 동기적이며 BeginInvoke 비동기적입니다. 작업은 지정된 에 있는 이벤트 큐에 Dispatcher 추가됩니다 DispatcherPriority.

BeginInvoke 가 비동기입니다. 따라서 컨트롤이 호출된 후 호출된 개체로 즉시 반환됩니다.

BeginInvoke 는 대리자가 DispatcherOperation 이벤트 큐에 있을 때 대리자를 조작하는 데 사용할 수 있는 개체를 반환합니다.

반환된 BeginInvoke 개체는 DispatcherOperation 다음과 같이 지정된 대리자를 조작하는 여러 가지 방법으로 사용할 수 있습니다.

  • 이벤트 큐에서 DispatcherPriority 실행 보류 중인 대리자의 변경

  • 이벤트 큐에서 대리자를 제거합니다.

  • 대리자가 돌아올 때까지 기다립니다.

  • 대리자가 실행된 후 반환하는 값을 가져옵니다.

BeginInvoke 여러 호출이 동일한 DispatcherPriority경우 호출이 이루어진 순서대로 실행됩니다.

종료된 BeginInvoke 상태에서 호출되는 경우 Dispatcher 반환 DispatcherOperation 된 상태 속성은 .로 Aborted설정됩니다.

BeginInvoke(Delegate, Object[])

생성된 스레드 Dispatcher 에서 지정된 인수를 사용하여 지정된 대리자를 비동기적으로 실행합니다.

public:
 System::Windows::Threading::DispatcherOperation ^ BeginInvoke(Delegate ^ method, ... cli::array <System::Object ^> ^ args);
public System.Windows.Threading.DispatcherOperation BeginInvoke(Delegate method, params object[] args);
member this.BeginInvoke : Delegate * obj[] -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (method As Delegate, ParamArray args As Object()) As DispatcherOperation

매개 변수

method
Delegate

이벤트 큐에 푸시되는 지정된 args매개 변수를 사용하는 메서드에 대한 Dispatcher 대리자입니다.

args
Object[]

지정된 메서드에 인수로 전달할 개체의 배열입니다. null일 수 있습니다.

반품

호출된 직후 BeginInvoke 반환되는 개체는 이벤트 큐에서 실행 보류 중인 대리자를 조작하는 데 사용할 수 있습니다.

설명

반환된 BeginInvoke 개체는 DispatcherOperation 다음과 같이 지정된 대리자를 조작하는 여러 가지 방법으로 사용할 수 있습니다.

  • 이벤트 큐에서 DispatcherPriority 실행 보류 중인 대리자의 변경

  • 이벤트 큐에서 대리자를 제거합니다.

  • 대리자가 돌아올 때까지 기다립니다.

  • 대리자가 실행된 후 반환하는 값을 가져옵니다.

BeginInvoke 가 비동기입니다. 따라서 컨트롤이 호출된 후 호출된 개체로 즉시 반환됩니다.

WPF에서 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 만든 내용을 Button 업데이트할 수 없습니다. 백그라운드 스레드가 Content 속성에 Button액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 작업에 작업을 Dispatcher 위임해야 합니다. 이 작업은 둘 중 하나 Invoke 또는 BeginInvoke.를 사용하여 수행됩니다. Invoke 는 동기적이며 BeginInvoke 비동기적입니다. 작업은 지정된 에 있는 이벤트 큐에 Dispatcher 추가됩니다 DispatcherPriority.

종료된 BeginInvoke 상태에서 호출되는 경우 Dispatcher 반환 DispatcherOperation 된 상태 속성은 .로 Aborted설정됩니다.

적용 대상

BeginInvoke(DispatcherPriority, Delegate)

연결된 스레드 Dispatcher 의 지정된 우선 순위에서 지정된 대리자를 비동기적으로 실행합니다.

public:
 System::Windows::Threading::DispatcherOperation ^ BeginInvoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method);
[System.ComponentModel.Browsable(false)]
public System.Windows.Threading.DispatcherOperation BeginInvoke(System.Windows.Threading.DispatcherPriority priority, Delegate method);
[<System.ComponentModel.Browsable(false)>]
member this.BeginInvoke : System.Windows.Threading.DispatcherPriority * Delegate -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (priority As DispatcherPriority, method As Delegate) As DispatcherOperation

매개 변수

priority
DispatcherPriority

지정된 메서드가 호출되는 이벤트 큐의 Dispatcher 다른 보류 중인 작업을 기준으로 하는 우선 순위입니다.

method
Delegate

이벤트 큐에 푸시되는 인수를 사용하지 않는 메서드의 Dispatcher 대리자입니다.

반품

호출된 직후 BeginInvoke 반환되는 개체는 이벤트 큐에서 실행 보류 중인 대리자를 조작하는 데 사용할 수 있습니다.

특성

예외

methodnull입니다.

priority 유효한 DispatcherPriority아닙니다.

예제

다음 예제에서는 작업을 .에 Dispatcher배치하는 방법을 보여줍니다. 이 예제의 전체 소스 코드는 Long-Running 계산 샘플이 있는Single-Threaded 애플리케이션을 참조하세요.

먼저 인수를 허용하지 않는 대리자가 만들어집니다.

public delegate void NextPrimeDelegate();
Public Delegate Sub NextPrimeDelegate()

다음으로 호출 BeginInvoke(DispatcherPriority, Delegate) 됩니다. 모든 DispatcherObject 항목에는 연결된 속성을 반환 Dispatcher 하는 속성이 있으므로 이 경우 Button 명명startStopButton된 속성을 쿼리하여 DispatcherObject원하는 Dispatcher 속성을 가져옵니다. 호출 BeginInvoke(DispatcherPriority, Delegate) 은 두 개의 매개 변수를 사용합니다. 즉, 우선 순위(설정된 DispatcherPriority.Normal우선 순위)와 대리 NextPrimeDelegate자의 인스턴스를 통해 전달되는 콜백입니다.

startStopButton.Dispatcher.BeginInvoke(
    DispatcherPriority.Normal,
    new NextPrimeDelegate(CheckNextNumber));
startStopButton.Dispatcher.BeginInvoke(DispatcherPriority.Normal, New NextPrimeDelegate(AddressOf CheckNextNumber))

설명

BeginInvoke 여러 호출이 동일한 DispatcherPriority경우 호출이 이루어진 순서대로 실행됩니다.

BeginInvoke 는 대리자가 DispatcherOperation 이벤트 큐에 있을 때 대리자를 조작하는 데 사용할 수 있는 개체를 반환합니다.

반환된 BeginInvoke 개체는 DispatcherOperation 다음과 같이 지정된 대리자를 조작하는 여러 가지 방법으로 사용할 수 있습니다.

  • 이벤트 큐에서 DispatcherPriority 실행 보류 중인 대리자의 변경

  • 이벤트 큐에서 대리자를 제거합니다.

  • 대리자가 돌아올 때까지 기다립니다.

  • 대리자가 실행된 후 반환하는 값을 가져옵니다.

BeginInvoke 가 비동기입니다. 따라서 컨트롤이 호출된 후 호출된 개체로 즉시 반환됩니다.

WPF에서 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 만든 내용을 Button 업데이트할 수 없습니다. 백그라운드 스레드가 Content 속성에 Button액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 작업에 작업을 Dispatcher 위임해야 합니다. 이 작업은 둘 중 하나 Invoke 또는 BeginInvoke.를 사용하여 수행됩니다. Invoke 는 동기적이며 BeginInvoke 비동기적입니다. 작업은 지정된 에 있는 이벤트 큐에 Dispatcher 추가됩니다 DispatcherPriority.

종료된 BeginInvoke 상태에서 호출되는 경우 Dispatcher 반환 DispatcherOperation 된 상태 속성은 .로 Aborted설정됩니다.

추가 정보

적용 대상

BeginInvoke(Delegate, DispatcherPriority, Object[])

지정된 인수를 만든 스레드 Dispatcher 에서 지정된 우선 순위의 지정된 인수를 사용하여 지정된 대리자를 비동기적으로 실행합니다.

public:
 System::Windows::Threading::DispatcherOperation ^ BeginInvoke(Delegate ^ method, System::Windows::Threading::DispatcherPriority priority, ... cli::array <System::Object ^> ^ args);
public System.Windows.Threading.DispatcherOperation BeginInvoke(Delegate method, System.Windows.Threading.DispatcherPriority priority, params object[] args);
member this.BeginInvoke : Delegate * System.Windows.Threading.DispatcherPriority * obj[] -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (method As Delegate, priority As DispatcherPriority, ParamArray args As Object()) As DispatcherOperation

매개 변수

method
Delegate

이벤트 큐에 푸시되는 지정된 args매개 변수를 사용하는 메서드에 대한 Dispatcher 대리자입니다.

priority
DispatcherPriority

지정된 메서드가 호출되는 이벤트 큐의 Dispatcher 다른 보류 중인 작업을 기준으로 하는 우선 순위입니다.

args
Object[]

지정된 메서드에 인수로 전달할 개체의 배열입니다. null일 수 있습니다.

반품

호출된 직후 BeginInvoke 반환되는 개체는 이벤트 큐에서 실행 보류 중인 대리자를 조작하는 데 사용할 수 있습니다.

설명

반환된 BeginInvoke 개체는 DispatcherOperation 다음과 같이 지정된 대리자를 조작하는 여러 가지 방법으로 사용할 수 있습니다.

  • 이벤트 큐에서 DispatcherPriority 실행 보류 중인 대리자의 변경

  • 이벤트 큐에서 대리자를 제거합니다.

  • 대리자가 돌아올 때까지 기다립니다.

  • 대리자가 실행된 후 반환하는 값을 가져옵니다.

BeginInvoke 가 비동기입니다. 따라서 컨트롤이 호출된 후 호출된 개체로 즉시 반환됩니다.

WPF에서 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 만든 내용을 Button 업데이트할 수 없습니다. 백그라운드 스레드가 Content 속성에 Button액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 작업에 작업을 Dispatcher 위임해야 합니다. 이 작업은 둘 중 하나 Invoke 또는 BeginInvoke.를 사용하여 수행됩니다. Invoke 는 동기적이며 BeginInvoke 비동기적입니다. 작업은 지정된 에 있는 이벤트 큐에 Dispatcher 추가됩니다 DispatcherPriority.

종료된 BeginInvoke 상태에서 호출되는 경우 Dispatcher 반환 DispatcherOperation 된 상태 속성은 .로 Aborted설정됩니다.

적용 대상

BeginInvoke(DispatcherPriority, Delegate, Object)

지정된 우선 순위에서 지정된 대리자를 비동기적으로 실행하고 연결된 스레드 Dispatcher 에서 지정된 인수를 사용하여 실행합니다.

public:
 System::Windows::Threading::DispatcherOperation ^ BeginInvoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method, System::Object ^ arg);
[System.ComponentModel.Browsable(false)]
public System.Windows.Threading.DispatcherOperation BeginInvoke(System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg);
[<System.ComponentModel.Browsable(false)>]
member this.BeginInvoke : System.Windows.Threading.DispatcherPriority * Delegate * obj -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (priority As DispatcherPriority, method As Delegate, arg As Object) As DispatcherOperation

매개 변수

priority
DispatcherPriority

지정된 메서드가 호출되는 이벤트 큐의 Dispatcher 다른 보류 중인 작업을 기준으로 하는 우선 순위입니다.

method
Delegate

이벤트 큐에 푸시되는 하나의 인수를 사용하는 메서드에 대한 대리자 Dispatcher 입니다.

arg
Object

지정된 메서드에 인수로 전달할 개체입니다.

반품

호출된 직후 BeginInvoke 반환되는 개체는 이벤트 큐에서 실행 보류 중인 대리자를 조작하는 데 사용할 수 있습니다.

특성

예외

methodnull입니다.

priority 유효한 DispatcherPriority아닙니다.

예제

다음 예제에서는 작업을 .에 Dispatcher배치하는 방법을 보여줍니다.

먼저 하나의 인수(이 경우 문자열)를 허용하는 대리자가 만들어집니다.

private delegate void OneArgDelegate(String arg);
Private Delegate Sub OneArgDelegate(ByVal arg As String)

다음으로 호출 BeginInvoke(DispatcherPriority, Delegate, Object) 됩니다. 모든 DispatcherObject 항목에는 연결된 속성을 반환 Dispatcher 하는 속성이 있으므로 이 경우 Grid 명명tomorrowsWeather된 속성을 쿼리하여 DispatcherObject원하는 Dispatcher 속성을 가져옵니다. 호출 BeginInvoke(DispatcherPriority, Delegate, Object) 은 세 개의 매개 변수를 사용합니다. 우선 순위는 대리자의 OneArgDelegate인스턴스를 통해 전달되는 콜백 및 콜백에 대한 인수인 명명weather된 문자열로 설정DispatcherPriority.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)

설명

arg 는 인수가 필요하지 않은 경우일 null 수 있습니다.

BeginInvoke 는 대리자가 DispatcherOperation 이벤트 큐에 있을 때 대리자를 조작하는 데 사용할 수 있는 개체를 반환합니다.

반환된 BeginInvoke 개체는 DispatcherOperation 다음과 같이 지정된 대리자를 조작하는 여러 가지 방법으로 사용할 수 있습니다.

  • 이벤트 큐에서 DispatcherPriority 실행 보류 중인 대리자의 변경

  • 이벤트 큐에서 대리자를 제거합니다.

  • 대리자가 돌아올 때까지 기다립니다.

  • 대리자가 실행된 후 반환하는 값을 가져옵니다.

BeginInvoke 가 비동기입니다. 따라서 컨트롤이 호출된 후 호출된 개체로 즉시 반환됩니다.

WPF에서 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 만든 내용을 Button 업데이트할 수 없습니다. 백그라운드 스레드가 콘텐츠 속성 Button에 액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 작업에 작업을 Dispatcher 위임해야 합니다. 이 작업은 둘 중 하나 Invoke 또는 BeginInvoke.를 사용하여 수행됩니다. Invoke 는 동기적이며 BeginInvoke 비동기적입니다. 작업은 지정된 에 있는 이벤트 큐에 Dispatcher 추가됩니다 DispatcherPriority.

BeginInvoke 여러 호출이 동일한 DispatcherPriority경우 호출이 이루어진 순서대로 실행됩니다.

종료된 BeginInvoke 상태에서 호출되는 경우 Dispatcher 반환 DispatcherOperation 된 상태 속성은 .로 Aborted설정됩니다.

추가 정보

적용 대상

BeginInvoke(DispatcherPriority, Delegate, Object, Object[])

지정된 우선 순위에서 지정된 대리자를 비동기적으로 실행하고 연결된 스레드에서 지정된 인수 배열을 Dispatcher 사용하여 실행합니다.

public:
 System::Windows::Threading::DispatcherOperation ^ BeginInvoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method, System::Object ^ arg, ... cli::array <System::Object ^> ^ args);
[System.ComponentModel.Browsable(false)]
public System.Windows.Threading.DispatcherOperation BeginInvoke(System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg, params object[] args);
[<System.ComponentModel.Browsable(false)>]
member this.BeginInvoke : System.Windows.Threading.DispatcherPriority * Delegate * obj * obj[] -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (priority As DispatcherPriority, method As Delegate, arg As Object, ParamArray args As Object()) As DispatcherOperation

매개 변수

priority
DispatcherPriority

지정된 메서드가 호출되는 이벤트 큐의 Dispatcher 다른 보류 중인 작업을 기준으로 하는 우선 순위입니다.

method
Delegate

이벤트 큐에 푸시되는 여러 인수를 사용하는 메서드에 대한 대리자 Dispatcher 입니다.

arg
Object

지정된 메서드에 인수로 전달할 개체입니다.

args
Object[]

지정된 메서드에 인수로 전달할 개체의 배열입니다.

반품

호출 직후 반환 BeginInvoke 되는 개체는 큐에서 Dispatcher 실행 보류 중인 대리자를 조작하는 데 사용할 수 있습니다.

특성

예외

methodnull입니다.

DispatcherPriority 가 유효한 우선 순위가 아닙니다.

설명

매개 변수는 arg 인수가 필요하지 않은 경우일 null 수 있습니다.

BeginInvoke 는 대리자가 DispatcherOperation 이벤트 큐에 있을 때 대리자를 조작하는 데 사용할 수 있는 개체를 반환합니다.

반환된 BeginInvoke 개체는 DispatcherOperation 다음과 같이 지정된 대리자를 조작하는 여러 가지 방법으로 사용할 수 있습니다.

  • 이벤트 큐에서 DispatcherPriority 실행 보류 중인 대리자의 변경

  • 이벤트 큐에서 대리자를 제거합니다.

  • 대리자가 돌아올 때까지 기다립니다.

  • 대리자가 실행된 후 반환하는 값을 가져옵니다.

BeginInvoke 가 비동기입니다. 따라서 컨트롤이 호출된 후 호출된 개체로 즉시 반환됩니다.

WPF에서 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 만든 내용을 Button 업데이트할 수 없습니다. 백그라운드 스레드가 Content 속성에 Button액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 작업에 작업을 Dispatcher 위임해야 합니다. 이 작업은 둘 중 하나 Invoke 또는 BeginInvoke.를 사용하여 수행됩니다. Invoke 는 동기적이며 BeginInvoke 비동기적입니다. 작업은 지정된 에 있는 이벤트 큐에 Dispatcher 추가됩니다 DispatcherPriority.

BeginInvoke 여러 호출이 동일한 DispatcherPriority경우 호출이 이루어진 순서대로 실행됩니다.

종료된 BeginInvoke 상태에서 호출되는 경우 Dispatcher 반환 DispatcherOperation 된 상태 속성은 .로 Aborted설정됩니다.

추가 정보

적용 대상