কম্পিউটার টিউটোরিয়াল

C#-এ Async এবং Await কিওয়ার্ড


async এবং await কিওয়ার্ড C#-এ অ্যাসিঙ্ক্রোনাস প্রোগ্রামিংয়ের জন্য ব্যবহৃত হয়।

GUI অ্যাপ্লিকেশনে কিউ চেক করে আনপ্রসেসড টাস্ক পেলে সেটি প্রথমে প্রসেস করে। কোড সিঙ্ক্রোনাস এক্সিকিউট হয়। প্রসেসিং বেশি সময় নিলে অ্যাপ্লিকেশন "Not Responding" দেখায়।

সমস্যা (সিঙ্ক্রোনাস)

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(); // নন-ব্লকিং
}

ব্যাখ্যা: async মেথড সিগনেচারে, await অ্যাসিঙ্ক্রোনাস অপারেশনের সামনে। UI থ্রেড ব্লক না হয়ে অন্যান্য কাজ করতে পারে।

সেরা অভ্যাস: async void শুধো ইভেন্ট হ্যান্ডলার용, অন্যথায় async Task বা async Task রিটার্ন করুন।

  1. জাভাস্ক্রিপ্টে var কীওয়ার্ডের উদ্দেশ্য কী?

  2. জাভাস্ক্রিপ্টে 'for await...of' স্টেটমেন্টের গুরুত্ব

  3. জাভাস্ক্রিপ্টে Async/Await ফাংশন

  4. HTML <var> ট্যাগ