비동기적으로 프로세스 종료 대기
많은 애플리케이션에서 더 진행하기 전에 프로세스가 종료될 때까지 기다리는 것이 필수적입니다. 그러나 Process.WaitForExit()를 사용하면 그래픽 사용자 인터페이스(GUI)가 정지될 수 있습니다. 이 문제를 방지하려면 이벤트 기반 또는 스레드 기반 솔루션이 필요합니다.
이벤트 기반 접근 방식
.NET 4.0/C# 5부터 비동기 패턴은 대기 프로세스를 표현하는 보다 우아한 방법을 제공합니다. WaitForExitAsync() 메서드를 Process 클래스에 추가하면 애플리케이션이 프로세스가 종료될 때까지 비동기적으로 기다릴 수 있습니다.
public static Task WaitForExitAsync(this Process process, CancellationToken cancellationToken = default(CancellationToken))
메서드 내부:
사용
WaitForExitAsync() 메서드를 사용하려면:
public async void Test() { var process = new Process("processName"); process.Start(); await process.WaitForExitAsync(); // Do some fun stuff here... }
위 내용은 GUI를 정지하지 않고 C#에서 프로세스 종료를 비동기적으로 기다릴 수 있는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!