Computer >> Máy Tính >  >> Lập trình >> C#

Lập trình không đồng bộ trong C # sử dụng từ khóa Async và Await


Lập trình không đồng bộ trong C # là một cách tiếp cận hiệu quả đối với các hoạt động bị chặn hoặc truy cập bị trì hoãn. Nếu một hoạt động bị chặn như vậy trong một quy trình đồng bộ, thì ứng dụng hoàn chỉnh sẽ đợi và mất nhiều thời gian hơn. Ứng dụng ngừng phản hồi. Sử dụng phương pháp không đồng bộ, các ứng dụng cũng tiếp tục với các tác vụ khác.

Các từ khóa async và await trong C # được sử dụng trong lập trình async. Sử dụng chúng, bạn có thể làm việc với tài nguyên .NET Framework, .NET Core, v.v. Các phương thức không đồng bộ được xác định bằng từ khóa async được gọi là phương thức không đồng bộ.

Ứng dụng có GUI, hãy kiểm tra nội dung của hàng đợi và nếu có tác vụ chưa xử lý ở đó, nó sẽ lấy ra và xử lý trước. Mã thực thi đồng bộ và tác vụ chưa xử lý được hoàn thành trước. Ứng dụng sẽ hiển thị ngừng phản hồi tin nhắn nếu quá trình xử lý mất nhiều thời gian hơn dự kiến.

Hãy để chúng tôi xem những gì được thảo luận ở trên -

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

Để giải quyết vấn đề trên, hãy sử dụng từ khóa async và await -

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