WPF 애플리케이션에서는 UI 스레드를 차단할 수 있는 작업을 백그라운드에서 실행해야 합니다. 적절한 접근 방식을 선택할 때 스레드 차단, 진행률 보고, 취소, 멀티스레딩 지원과 같은 요소를 고려하세요.
.NET 4.5 이상(또는 .NET 4.0 with Microsoft.Bcl.Async), async/await를 사용하는 작업 기반 API는 백그라운드 실행을 위한 최적의 솔루션을 제공합니다. 편리하고 구조화된 코딩 경험을 제공합니다.
다음 코드는 async/await를 사용하여 백그라운드에서 작업을 실행하는 예를 보여줍니다.
private async void Start(object sender, RoutedEventArgs e) { try { await Task.Run(() => { int progress = 0; for (; ; ) { Thread.Sleep(1); progress++; Logger.Info(progress); } }); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
이 코드는 백그라운드에서 실행되는 작업을 생성하여 진행 변수를 통해 진행 상황을 보고하고 CancellationTokenSource를 통해 취소할 수 있도록 합니다( 표시).
추가 정보 및 심층적인 이해:
위 내용은 진행률 보고 및 취소를 통해 WPF에서 백그라운드 작업을 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!