Dispatcher.BeginInvoke Dispatcher.BeginInvoke Dispatcher.BeginInvoke Dispatcher.BeginInvoke Method

정의

Dispatcher가 연결된 스레드에서 대리자를 비동기적으로 실행합니다.Executes a delegate asynchronously on the thread the Dispatcher is associated with.

오버로드

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

Dispatcher가 만들어진 스레드에서 지정된 인수를 사용하여 지정된 대리자를 비동기적으로 실행합니다.Executes the specified delegate asynchronously with the specified arguments on the thread that the Dispatcher was created on.

BeginInvoke(DispatcherPriority, Delegate) BeginInvoke(DispatcherPriority, Delegate) BeginInvoke(DispatcherPriority, Delegate) BeginInvoke(DispatcherPriority, Delegate)

Dispatcher가 연결된 스레드에서 지정된 우선 순위에 있는 지정된 대리자를 비동기적으로 실행합니다.Executes the specified delegate asynchronously at the specified priority on the thread the Dispatcher is associated with.

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

Dispatcher가 만들어진 스레드에서 지정된 우선 순위에 지정된 인수를 사용하여 지정된 대리자를 비동기적으로 실행합니다.Executes the specified delegate asynchronously with the specified arguments, at the specified priority, on the thread that the Dispatcher was created on.

BeginInvoke(DispatcherPriority, Delegate, Object) BeginInvoke(DispatcherPriority, Delegate, Object) BeginInvoke(DispatcherPriority, Delegate, Object) BeginInvoke(DispatcherPriority, Delegate, Object)

Dispatcher가 연결된 스레드에서 지정된 인수를 사용하여 지정된 우선 순위에 있는 지정된 대리자를 비동기적으로 실행합니다.Executes the specified delegate asynchronously at the specified priority and with the specified argument on the thread the Dispatcher is associated with.

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

Dispatcher가 연결된 스레드에서 지정된 인수 배열을 사용하여 지정된 우선 순위에 있는 지정된 대리자를 비동기적으로 실행합니다.Executes the specified delegate asynchronously at the specified priority and with the specified array of arguments on the thread the Dispatcher is associated with.

설명

WPFWPF에서 만든 스레드만 DispatcherObject 해당 개체에 액세스할 수 있습니다.In WPFWPF, only the thread that created a DispatcherObject may access that object. 예를 들어 주 UI 스레드에서 분리 된 백그라운드 스레드에서의 콘텐츠를 업데이트할 수 없습니다는 Button UI 스레드에서 만들어진 합니다.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. 콘텐츠 속성을 액세스 하는 백그라운드 스레드를 위해 합니다 Button, 백그라운드 스레드 작업을 위임 해야 합니다는 Dispatcher UI 스레드와 연결 된.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. 사용 하 여 이렇게 Invoke 또는 BeginInvoke합니다.This is accomplished by using either Invoke or BeginInvoke. Invoke 동기식 및 BeginInvoke 는 비동기적입니다.Invoke is synchronous and BeginInvoke is asynchronous. 작업의 이벤트 큐에 추가 되는 Dispatcher 지정 된 DispatcherPriority합니다.The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

BeginInvoke 비동기적입니다. 따라서 제어가 반환 즉시 호출 하는 개체를 호출한 후 됩니다.BeginInvoke is asynchronous; therefore, control returns immediately to the calling object after it is called.

BeginInvoke 반환 된 DispatcherOperation 있는 경우 대리자가 큐에서 이벤트 대리자와 상호 작용 하는 데 사용할 수 있습니다.BeginInvoke returns a DispatcherOperation object that can be used to interact with the delegate when the delegate is in the event queue.

합니다 DispatcherOperation 에서 반환 된 개체 BeginInvoke 와 같은 지정된 된 대리자와 상호 작용 하는 여러 가지 방법으로 사용할 수 있습니다.The DispatcherOperation object returned by BeginInvoke can be used in several ways to interact with the specified delegate, such as:

  • 변경 된 DispatcherPriority 대리자의 보류 중인 실행의 이벤트 큐에 있습니다.Changing the DispatcherPriority of the delegate as it is pending execution in the event queue.

  • 대리자를 이벤트 큐에서 제거합니다.Removing the delegate from the event queue.

  • 반환할 대리자를 기다리는 중입니다.Waiting for the delegate to return.

  • 실행 후 대리자를 반환 하는 값을 가져오기Obtaining the value that the delegate returns after it is executed.

여러 BeginInvoke 동시 호출 DispatcherPriority, 호출 된 순서 대로 실행 됩니다.If multiple BeginInvoke calls are made at the same DispatcherPriority, they will be executed in the order the calls were made.

하는 경우 BeginInvoke 라고 하는 Dispatcher 는 종료 반환 된 상태 속성 DispatcherOperation 로 설정 된 Aborted합니다.If BeginInvoke is called on a Dispatcher that has shut down, the status property of the returned DispatcherOperation is set to Aborted.

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

Dispatcher가 만들어진 스레드에서 지정된 인수를 사용하여 지정된 대리자를 비동기적으로 실행합니다.Executes the specified delegate asynchronously with the specified arguments on the thread that the Dispatcher was created on.

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 Delegate Delegate Delegate

args에 지정된 매개 변수를 사용하는 메서드에 대한 대리자로, Dispatcher 이벤트 큐로 푸시됩니다.The delegate to a method that takes parameters specified in args, which is pushed onto the Dispatcher event queue.

args
Object[]

주어진 메서드에 인수로 전달하는 개체의 배열입니다.An array of objects to pass as arguments to the given method. null일 수 있습니다.Can be null.

반환

BeginInvoke가 호출된 후 즉시 반환되며, 이벤트 큐에서 실행 보류 중일 때 대리자와 상호 작용하는 데 사용할 수 있는 개체입니다.An object, which is returned immediately after BeginInvoke is called, that can be used to interact with the delegate as it is pending execution in the event queue.

설명

합니다 DispatcherOperation 에서 반환 된 개체 BeginInvoke 와 같은 지정된 된 대리자와 상호 작용 하는 여러 가지 방법으로 사용할 수 있습니다.The DispatcherOperation object returned by BeginInvoke can be used in several ways to interact with the specified delegate, such as:

  • 변경 된 DispatcherPriority 대리자의 보류 중인 실행의 이벤트 큐에 있습니다.Changing the DispatcherPriority of the delegate as it is pending execution in the event queue.

  • 대리자를 이벤트 큐에서 제거합니다.Removing the delegate from the event queue.

  • 반환할 대리자를 기다리는 중입니다.Waiting for the delegate to return.

  • 실행 후 대리자를 반환 하는 값을 가져오기Obtaining the value that the delegate returns after it is executed.

BeginInvoke 비동기적입니다. 따라서 제어가 반환 즉시 호출 하는 개체를 호출한 후 됩니다.BeginInvoke is asynchronous; therefore, control returns immediately to the calling object after it is called.

WPFWPF에서 만든 스레드만 DispatcherObject 해당 개체에 액세스할 수 있습니다.In WPFWPF, only the thread that created a DispatcherObject may access that object. 예를 들어 주 UI 스레드에서 분리 된 백그라운드 스레드에서의 콘텐츠를 업데이트할 수 없습니다는 Button UI 스레드에서 만들어진 합니다.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. 콘텐츠 속성을 액세스 하는 백그라운드 스레드를 위해 합니다 Button, 백그라운드 스레드 작업을 위임 해야 합니다는 Dispatcher UI 스레드와 연결 된.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. 사용 하 여 이렇게 Invoke 또는 BeginInvoke합니다.This is accomplished by using either Invoke or BeginInvoke. Invoke 동기식 및 BeginInvoke 는 비동기적입니다.Invoke is synchronous and BeginInvoke is asynchronous. 작업의 이벤트 큐에 추가 되는 Dispatcher 지정 된 DispatcherPriority합니다.The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

하는 경우 BeginInvoke 라고 하는 Dispatcher 는 종료 반환 된 상태 속성 DispatcherOperation 로 설정 된 Aborted합니다.If BeginInvoke is called on a Dispatcher that has shut down, the status property of the returned DispatcherOperation is set to Aborted.

BeginInvoke(DispatcherPriority, Delegate) BeginInvoke(DispatcherPriority, Delegate) BeginInvoke(DispatcherPriority, Delegate) BeginInvoke(DispatcherPriority, Delegate)

Dispatcher가 연결된 스레드에서 지정된 우선 순위에 있는 지정된 대리자를 비동기적으로 실행합니다.Executes the specified delegate asynchronously at the specified priority on the thread the Dispatcher is associated with.

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);
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 DispatcherPriority DispatcherPriority DispatcherPriority

Dispatcher 이벤트 큐의 다른 보류 중인 작업에 상대적인 우선 순위로, 이 순위에 따라 지정된 메서드가 호출됩니다.The priority, relative to the other pending operations in the Dispatcher event queue, the specified method is invoked.

method
Delegate Delegate Delegate Delegate

인수가 없는 메서드에 대한 대리자로, Dispatcher 이벤트 큐로 푸시됩니다.The delegate to a method that takes no arguments, which is pushed onto the Dispatcher event queue.

반환

BeginInvoke가 호출된 후 즉시 반환되며, 이벤트 큐에서 실행 보류 중일 때 대리자와 상호 작용하는 데 사용할 수 있는 개체입니다.An object, which is returned immediately after BeginInvoke is called, that can be used to interact with the delegate as it is pending execution in the event queue.

예외

예제

다음 예제에 작업을 배치 하는 방법을 보여 줍니다는 Dispatcher합니다.The following example shows how to place an operation onto a Dispatcher. 이 예제의 전체 소스 코드를 보려면 장기 실행 계산 샘플을 사용 하 여 단일 스레드 애플리케이션합니다.For the full source code of this example, see Single-Threaded Application with Long-Running Calculation Sample.

먼저, 인수를 받지 않는 대리자를 만듭니다.First, a delegate is created that accepts no arguments.

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

다음으로, BeginInvoke(DispatcherPriority, Delegate) 라고 합니다.Next, BeginInvoke(DispatcherPriority, Delegate) is called. 때문에 모든 DispatcherObject 속성이 반환 하는 Dispatcher 원하는와 연결 됩니다 Dispatcher 쿼리하여 가져오고를 DispatcherObject,이 경우에 Button 라는 startStopButton합니다.Because every DispatcherObject has a property that returns the Dispatcher it is associated with, the desired Dispatcher is obtained by querying the DispatcherObject, in this case a Button named startStopButton. 에 대 한 호출 BeginInvoke(DispatcherPriority, Delegate) 두 개의 매개 변수:로 설정 된 우선 순위 DispatcherPriority.Normal, 및 대리자의 인스턴스를 통해 전달 된 콜백을 NextPrimeDelegate합니다.The call to BeginInvoke(DispatcherPriority, Delegate) takes two parameters: the priority, which is set to DispatcherPriority.Normal, and the callback, which is passed in through an instance of the delegate NextPrimeDelegate.

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

설명

여러 BeginInvoke 동시 호출 DispatcherPriority, 호출 된 순서 대로 실행 됩니다.If multiple BeginInvoke calls are made at the same DispatcherPriority, they will be executed in the order the calls were made.

BeginInvoke 반환 된 DispatcherOperation 있는 경우 대리자가 큐에서 이벤트 대리자와 상호 작용 하는 데 사용할 수 있습니다.BeginInvoke returns a DispatcherOperation object that can be used to interact with the delegate when the delegate is in the event queue.

합니다 DispatcherOperation 에서 반환 된 개체 BeginInvoke 와 같은 지정된 된 대리자와 상호 작용 하는 여러 가지 방법으로 사용할 수 있습니다.The DispatcherOperation object returned by BeginInvoke can be used in several ways to interact with the specified delegate, such as:

  • 변경 된 DispatcherPriority 대리자의 보류 중인 실행의 이벤트 큐에 있습니다.Changing the DispatcherPriority of the delegate as it is pending execution in the event queue.

  • 대리자를 이벤트 큐에서 제거합니다.Removing the delegate from the event queue.

  • 반환할 대리자를 기다리는 중입니다.Waiting for the delegate to return.

  • 실행 후 대리자를 반환 하는 값을 가져오기Obtaining the value that the delegate returns after it is executed.

BeginInvoke 비동기적입니다. 따라서 제어가 반환 즉시 호출 하는 개체를 호출한 후 됩니다.BeginInvoke is asynchronous; therefore, control returns immediately to the calling object after it is called.

WPFWPF에서 만든 스레드만 DispatcherObject 해당 개체에 액세스할 수 있습니다.In WPFWPF, only the thread that created a DispatcherObject may access that object. 예를 들어 주 UI 스레드에서 분리 된 백그라운드 스레드에서의 콘텐츠를 업데이트할 수 없습니다는 Button UI 스레드에서 만들어진 합니다.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. 콘텐츠 속성을 액세스 하는 백그라운드 스레드를 위해 합니다 Button, 백그라운드 스레드 작업을 위임 해야 합니다는 Dispatcher UI 스레드와 연결 된.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. 사용 하 여 이렇게 Invoke 또는 BeginInvoke합니다.This is accomplished by using either Invoke or BeginInvoke. Invoke 동기식 및 BeginInvoke 는 비동기적입니다.Invoke is synchronous and BeginInvoke is asynchronous. 작업의 이벤트 큐에 추가 되는 Dispatcher 지정 된 DispatcherPriority합니다.The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

하는 경우 BeginInvoke 라고 하는 Dispatcher 는 종료 반환 된 상태 속성 DispatcherOperation 로 설정 된 Aborted합니다.If BeginInvoke is called on a Dispatcher that has shut down, the status property of the returned DispatcherOperation is set to Aborted.

추가 정보

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

Dispatcher가 만들어진 스레드에서 지정된 우선 순위에 지정된 인수를 사용하여 지정된 대리자를 비동기적으로 실행합니다.Executes the specified delegate asynchronously with the specified arguments, at the specified priority, on the thread that the Dispatcher was created on.

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 Delegate Delegate Delegate

args에 지정된 매개 변수를 사용하는 메서드에 대한 대리자로, Dispatcher 이벤트 큐로 푸시됩니다.The delegate to a method that takes parameters specified in args, which is pushed onto the Dispatcher event queue.

priority
DispatcherPriority DispatcherPriority DispatcherPriority DispatcherPriority

Dispatcher 이벤트 큐의 다른 보류 중인 작업에 상대적인 우선 순위로, 이 순위에 따라 지정된 메서드가 호출됩니다.The priority, relative to the other pending operations in the Dispatcher event queue, the specified method is invoked.

args
Object[]

주어진 메서드에 인수로 전달하는 개체의 배열입니다.An array of objects to pass as arguments to the given method. null일 수 있습니다.Can be null.

반환

BeginInvoke가 호출된 후 즉시 반환되며, 이벤트 큐에서 실행 보류 중일 때 대리자와 상호 작용하는 데 사용할 수 있는 개체입니다.An object, which is returned immediately after BeginInvoke is called, that can be used to interact with the delegate as it is pending execution in the event queue.

설명

합니다 DispatcherOperation 에서 반환 된 개체 BeginInvoke 와 같은 지정된 된 대리자와 상호 작용 하는 여러 가지 방법으로 사용할 수 있습니다.The DispatcherOperation object returned by BeginInvoke can be used in several ways to interact with the specified delegate, such as:

  • 변경 된 DispatcherPriority 대리자의 보류 중인 실행의 이벤트 큐에 있습니다.Changing the DispatcherPriority of the delegate as it is pending execution in the event queue.

  • 대리자를 이벤트 큐에서 제거합니다.Removing the delegate from the event queue.

  • 반환할 대리자를 기다리는 중입니다.Waiting for the delegate to return.

  • 실행 후 대리자를 반환 하는 값을 가져오기Obtaining the value that the delegate returns after it is executed.

BeginInvoke 비동기적입니다. 따라서 제어가 반환 즉시 호출 하는 개체를 호출한 후 됩니다.BeginInvoke is asynchronous; therefore, control returns immediately to the calling object after it is called.

WPFWPF에서 만든 스레드만 DispatcherObject 해당 개체에 액세스할 수 있습니다.In WPFWPF, only the thread that created a DispatcherObject may access that object. 예를 들어 주 UI 스레드에서 분리 된 백그라운드 스레드에서의 콘텐츠를 업데이트할 수 없습니다는 Button UI 스레드에서 만들어진 합니다.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. 콘텐츠 속성을 액세스 하는 백그라운드 스레드를 위해 합니다 Button, 백그라운드 스레드 작업을 위임 해야 합니다는 Dispatcher UI 스레드와 연결 된.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. 사용 하 여 이렇게 Invoke 또는 BeginInvoke합니다.This is accomplished by using either Invoke or BeginInvoke. Invoke 동기식 및 BeginInvoke 는 비동기적입니다.Invoke is synchronous and BeginInvoke is asynchronous. 작업의 이벤트 큐에 추가 되는 Dispatcher 지정 된 DispatcherPriority합니다.The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

하는 경우 BeginInvoke 라고 하는 Dispatcher 는 종료 반환 된 상태 속성 DispatcherOperation 로 설정 된 Aborted합니다.If BeginInvoke is called on a Dispatcher that has shut down, the status property of the returned DispatcherOperation is set to Aborted.

BeginInvoke(DispatcherPriority, Delegate, Object) BeginInvoke(DispatcherPriority, Delegate, Object) BeginInvoke(DispatcherPriority, Delegate, Object) BeginInvoke(DispatcherPriority, Delegate, Object)

Dispatcher가 연결된 스레드에서 지정된 인수를 사용하여 지정된 우선 순위에 있는 지정된 대리자를 비동기적으로 실행합니다.Executes the specified delegate asynchronously at the specified priority and with the specified argument on the thread the Dispatcher is associated with.

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);
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 DispatcherPriority DispatcherPriority DispatcherPriority

Dispatcher 이벤트 큐의 다른 보류 중인 작업에 상대적인 우선 순위로, 이 순위에 따라 지정된 메서드가 호출됩니다.The priority, relative to the other pending operations in the Dispatcher event queue, the specified method is invoked.

method
Delegate Delegate Delegate Delegate

인수를 하나 사용하는 메서드에 대한 대리자로, Dispatcher 이벤트 큐로 푸시됩니다.A delegate to a method that takes one argument, which is pushed onto the Dispatcher event queue.

arg
Object Object Object Object

지정된 메서드에 인수로 전달하는 개체입니다.The object to pass as an argument to the specified method.

반환

BeginInvoke가 호출된 후 즉시 반환되며, 이벤트 큐에서 실행 보류 중일 때 대리자와 상호 작용하는 데 사용할 수 있는 개체입니다.An object, which is returned immediately after BeginInvoke is called, that can be used to interact with the delegate as it is pending execution in the event queue.

예외

예제

다음 예제에 작업을 배치 하는 방법을 보여 줍니다는 Dispatcher합니다.The following example shows how to place an operation onto a Dispatcher.

먼저 하나의 인수 즉,이 경우 문자열에서에서 허용 하는 대리자를 만듭니다.First, a delegate is created that accepts one argument, in this case a string.

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

다음으로, BeginInvoke(DispatcherPriority, Delegate, Object) 라고 합니다.Next, BeginInvoke(DispatcherPriority, Delegate, Object) is called. 때문에 모든 DispatcherObject 속성이 반환 하는 Dispatcher 원하는와 연결 됩니다 Dispatcher 쿼리하여 가져오고를 DispatcherObject,이 경우에 Grid 라는 tomorrowsWeather합니다.Because every DispatcherObject has a property that returns the Dispatcher it is associated with, the desired Dispatcher is obtained by querying the DispatcherObject, in this case a Grid named tomorrowsWeather. 에 대 한 호출 BeginInvoke(DispatcherPriority, Delegate, Object) 3 개의 매개 변수:로 설정 된 우선 순위 DispatcherPriority.Normal; 대리자의 인스턴스를 통해 전달 된 콜백 OneArgDelegate; 및 명명 된 문자열 weather, 콜백에 대 한 인수는 합니다.The call to BeginInvoke(DispatcherPriority, Delegate, Object) takes three parameters: the priority, which is set to DispatcherPriority.Normal; the callback, which is passed in through an instance of the delegate OneArgDelegate; and a string named weather, which is the argument for the callback.

// 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)

설명

Argnull 경우 인수가 필요 하지 않습니다.Arg can be null if no arguments are needed.

BeginInvoke 반환 된 DispatcherOperation 있는 경우 대리자가 큐에서 이벤트 대리자와 상호 작용 하는 데 사용할 수 있습니다.BeginInvoke returns a DispatcherOperation object that can be used to interact with the delegate when the delegate is in the event queue.

합니다 DispatcherOperation 에서 반환 된 개체 BeginInvoke 와 같은 지정된 된 대리자와 상호 작용 하는 여러 가지 방법으로 사용할 수 있습니다.The DispatcherOperation object returned by BeginInvoke can be used in several ways to interact with the specified delegate, such as:

  • 변경 된 DispatcherPriority 대리자의 보류 중인 실행의 이벤트 큐에 있습니다.Changing the DispatcherPriority of the delegate as it is pending execution in the event queue.

  • 대리자를 이벤트 큐에서 제거합니다.Removing the delegate from the event queue.

  • 반환할 대리자를 기다리는 중입니다.Waiting for the delegate to return.

  • 실행 후 대리자를 반환 하는 값을 가져오기Obtaining the value that the delegate returns after it is executed.

BeginInvoke 비동기적입니다. 따라서 제어가 반환 즉시 호출 하는 개체를 호출한 후 됩니다.BeginInvoke is asynchronous; therefore, control returns immediately to the calling object after it is called.

WPFWPF에서 만든 스레드만 DispatcherObject 해당 개체에 액세스할 수 있습니다.In WPFWPF, only the thread that created a DispatcherObject may access that object. 예를 들어 주 UI 스레드에서 분리 된 백그라운드 스레드에서의 콘텐츠를 업데이트할 수 없습니다는 Button UI 스레드에서 만들어진 합니다.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. 콘텐츠 속성을 액세스 하는 백그라운드 스레드를 위해 합니다 Button, 백그라운드 스레드 작업을 위임 해야 합니다는 Dispatcher UI 스레드와 연결 된.In order for the background thread to access the content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. 사용 하 여 이렇게 Invoke 또는 BeginInvoke합니다.This is accomplished by using either Invoke or BeginInvoke. Invoke 동기식 및 BeginInvoke 는 비동기적입니다.Invoke is synchronous and BeginInvoke is asynchronous. 작업의 이벤트 큐에 추가 되는 Dispatcher 지정 된 DispatcherPriority합니다.The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

여러 BeginInvoke 동시 호출 DispatcherPriority, 호출 된 순서 대로 실행 됩니다.If multiple BeginInvoke calls are made at the same DispatcherPriority, they will be executed in the order the calls were made.

하는 경우 BeginInvoke 라고 하는 Dispatcher 는 종료 반환 된 상태 속성 DispatcherOperation 로 설정 된 Aborted합니다.If BeginInvoke is called on a Dispatcher that has shut down, the status property of the returned DispatcherOperation is set to Aborted.

추가 정보

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

Dispatcher가 연결된 스레드에서 지정된 인수 배열을 사용하여 지정된 우선 순위에 있는 지정된 대리자를 비동기적으로 실행합니다.Executes the specified delegate asynchronously at the specified priority and with the specified array of arguments on the thread the Dispatcher is associated with.

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);
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 DispatcherPriority DispatcherPriority DispatcherPriority

Dispatcher 이벤트 큐의 다른 보류 중인 작업에 상대적인 우선 순위로, 이 순위에 따라 지정된 메서드가 호출됩니다.The priority, relative to the other pending operations in the Dispatcher event queue, the specified method is invoked.

method
Delegate Delegate Delegate Delegate

인수를 여러 개 사용하는 메서드에 대한 대리자로, Dispatcher 이벤트 큐로 푸시됩니다.A delegate to a method that takes multiple arguments, which is pushed onto the Dispatcher event queue.

arg
Object Object Object Object

지정된 메서드에 인수로 전달하는 개체입니다.The object to pass as an argument to the specified method.

args
Object[]

지정된 메서드에 인수로 전달하는 개체의 배열입니다.An array of objects to pass as arguments to the specified method.

반환

BeginInvoke가 호출된 후 즉시 반환되며, Dispatcher 큐에서 실행 보류 중일 때 대리자와 상호 작용하는 데 사용할 수 있는 개체입니다.An object, which is returned immediately after BeginInvoke is called, that can be used to interact with the delegate as it is pending execution in the Dispatcher queue.

예외

설명

합니다 arg 매개 변수 수 null 경우 인수가 필요 하지 않습니다.The arg parameter can be null if no arguments are needed.

BeginInvoke 반환 된 DispatcherOperation 있는 경우 대리자가 큐에서 이벤트 대리자와 상호 작용 하는 데 사용할 수 있습니다.BeginInvoke returns a DispatcherOperation object that can be used to interact with the delegate when the delegate is in the event queue.

합니다 DispatcherOperation 에서 반환 된 개체 BeginInvoke 와 같은 지정된 된 대리자와 상호 작용 하는 여러 가지 방법으로 사용할 수 있습니다.The DispatcherOperation object returned by BeginInvoke can be used in several ways to interact with the specified delegate, such as:

  • 변경 된 DispatcherPriority 대리자의 보류 중인 실행의 이벤트 큐에 있습니다.Changing the DispatcherPriority of the delegate as it is pending execution in the event queue.

  • 대리자를 이벤트 큐에서 제거합니다.Removing the delegate from the event queue.

  • 반환할 대리자를 기다리는 중입니다.Waiting for the delegate to return.

  • 실행 후 대리자를 반환 하는 값을 가져오기Obtaining the value that the delegate returns after it is executed.

BeginInvoke 비동기적입니다. 따라서 제어가 반환 즉시 호출 하는 개체를 호출한 후 됩니다.BeginInvoke is asynchronous; therefore, control returns immediately to the calling object after it is called.

WPFWPF에서 만든 스레드만 DispatcherObject 해당 개체에 액세스할 수 있습니다.In WPFWPF, only the thread that created a DispatcherObject may access that object. 예를 들어 주 UI 스레드에서 분리 된 백그라운드 스레드에서의 콘텐츠를 업데이트할 수 없습니다는 Button UI 스레드에서 만들어진 합니다.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. 콘텐츠 속성을 액세스 하는 백그라운드 스레드를 위해 합니다 Button, 백그라운드 스레드 작업을 위임 해야 합니다는 Dispatcher UI 스레드와 연결 된.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. 사용 하 여 이렇게 Invoke 또는 BeginInvoke합니다.This is accomplished by using either Invoke or BeginInvoke. Invoke 동기식 및 BeginInvoke 는 비동기적입니다.Invoke is synchronous and BeginInvoke is asynchronous. 작업의 이벤트 큐에 추가 되는 Dispatcher 지정 된 DispatcherPriority합니다.The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

여러 BeginInvoke 동시 호출 DispatcherPriority, 호출 된 순서 대로 실행 됩니다.If multiple BeginInvoke calls are made at the same DispatcherPriority, they will be executed in the order the calls were made.

하는 경우 BeginInvoke 라고 하는 Dispatcher 는 종료 반환 된 상태 속성 DispatcherOperation 로 설정 된 Aborted합니다.If BeginInvoke is called on a Dispatcher that has shut down, the status property of the returned DispatcherOperation is set to Aborted.

추가 정보

적용 대상