WPF 응용 프로그램에서 직접 메서드 호출과 Dispatcher.Invoke()
전달의 차이점은 무엇입니까? 지금까지 읽은 것을 바탕으로, 둘 다 동일한 UI 스레드에서 실행됩니다, 그렇지 않습니까?Dispatcher.Invoke() vs 스레드가 생성되지 않는 경우
샘플 코드
사례 1 :
public sealed partial class Window
{
private void SomeEventHandler(object sender, EventArgs e)
{
SomeMethod();
}
}
사례 2 : 당신이 실행하는 작업을해야 할 때마다
public sealed partial class Window
{
private void SomeEventHandler(object sender, EventArgs e)
{
Dispatcher.Invoke(SomeMethod, DispatcherPriority.Send);
}
}
더 많은 컨텍스트를 제공해야합니다. UI 스레드 (예 : 백그라운드 작업)에서 아직 실행하지 않은 경우 큰 차이가 있습니다. 샘플 코드가 도움이 될 것입니다. –
Dispatcher.BeginInvoke, btw와 달리 UI 스레드 내부에서 Dispatcher.Invoke를 호출하는 것은 의미가 없습니다. 더 자세한 내용은? – JeffRSon
@JeffRSon, 그것이 내가 당신을 올바르게 이해한다면, 내가 확인하고 싶은 것입니다. 질문을 설명하기 위해 샘플 코드를 게시했습니다. – zer0ne