Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

Async 및 Await 키워드를 사용하는 C#의 비동기 프로그래밍


C#의 비동기 프로그래밍은 차단되거나 액세스가 지연되는 활동에 대한 효율적인 접근 방식입니다. 동기식 프로세스에서 이와 같이 활동이 차단되면 전체 애플리케이션이 대기하고 더 많은 시간이 걸립니다. 응용 프로그램이 응답하지 않습니다. 비동기식 접근 방식을 사용하여 애플리케이션은 다른 작업도 계속합니다.

C#의 async 및 await 키워드는 비동기 프로그래밍에 사용됩니다. 이를 사용하여 .NET Framework 리소스, .NET Core 등으로 작업할 수 있습니다. async 키워드를 사용하여 정의된 비동기 메서드를 비동기 메서드라고 합니다.

GUI가 있는 응용 프로그램은 대기열의 내용을 확인하고 처리되지 않은 작업이 있으면 먼저 꺼내어 처리합니다. 코드는 동기적으로 실행되고 처리되지 않은 작업이 먼저 완료됩니다. 처리 시간이 예상보다 오래 걸리면 애플리케이션에서 메시지에 응답하지 않는 것으로 표시됩니다.

위에서 논의한 내용을 살펴보겠습니다 -

private void OnRequestDownload(object sender, RoutedEventArgs e) {
   var req = HttpWebRequest.Create(_requestedUri);
   var res = req.GetResponse();
}

위의 문제를 해결하려면 async 및 await 키워드를 사용하십시오 -

private async void OnRequestDownload(object sender, RoutedEventArgs e) {
   var req= HttpWebRequest.Create(_requestedUri);
   var res = await req.GetResponseAsync();
}