Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

การเขียนโปรแกรมแบบอะซิงโครนัสใน C # โดยใช้ Async และ Await คำสำคัญ


การเขียนโปรแกรมแบบอะซิงโครนัสใน C# เป็นแนวทางที่มีประสิทธิภาพในการปิดกั้นกิจกรรมหรือการเข้าถึงล่าช้า หากกิจกรรมถูกบล็อกในลักษณะนี้ในกระบวนการซิงโครนัส แอปพลิเคชันที่สมบูรณ์จะรอและใช้เวลานานขึ้น แอปพลิเคชันหยุดตอบสนอง การใช้วิธีการแบบอะซิงโครนัสทำให้แอปพลิเคชันทำงานอื่นๆ ต่อได้ด้วยเช่นกัน

คีย์เวิร์ด async และ await ใน C# ใช้ในการเขียนโปรแกรม async คุณสามารถใช้ทรัพยากรเหล่านี้กับทรัพยากร .NET Framework, .NET Core เป็นต้น วิธีการแบบอะซิงโครนัสที่กำหนดโดยใช้คำหลักแบบอะซิงโครนัสจะเรียกว่าเมธอดแบบอะซิงโครนัส

แอปพลิเคชันที่มี GUI ตรวจสอบเนื้อหาของคิว และหากมีงานที่ยังไม่ได้ดำเนินการ ให้นำออกและประมวลผลก่อน รหัสดำเนินการพร้อมกันและงานที่ยังไม่ได้ดำเนินการจะเสร็จสิ้นก่อน แอปพลิเคชันจะแสดงการหยุดตอบสนองต่อข้อความหากการประมวลผลใช้เวลานานกว่าที่คาดไว้

ให้เราดูสิ่งที่กล่าวถึงข้างต้น −

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

เพื่อแก้ปัญหาข้างต้น ใช้ async และรอคำสำคัญ −

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