async
এবং await
কীওয়ার্ড তাদের নিজের উপর আপনার আবেদন আরো প্রতিক্রিয়াশীল করা হবে না। এগুলি কেবল কলিং এবং হ্যান্ডলিংয়ের পদ্ধতিগুলিকে তৈরি করে যা Task
বস্তুগুলিকে আরও সুবিধাজনক করে তোলে । ব্যাকগ্রাউন্ড থ্রেডগুলি তৈরি করতে async
/ await
ব্যবহার করার জন্য আপনাকে এই জাতীয় জিনিসগুলির ব্যবহারের সাথে একত্রিত করতে হবে:
Task.Start()
- ব্যবহার করে একটি প্রদত্ত টাস্ক শুরু করে TaskScheduler
।
- পিনকিউ - সমান্তরালভাবে কয়েকটি ক্রিয়াকলাপ চালান, একটি কার্য প্রদান করে।
TaskCompletionSource
- অ্যাসিঙ্ক কার্যগুলি পরিচালনা করার একটি কাস্টম উপায়। আমি এটি ব্যবহার করেছিলাম এমন একটি জায়গা হ'ল WebBrowser
নিয়ন্ত্রণ থেকে আগত ইভেন্টগুলি পরিচালনা করতে ।
- অন্যান্য
async
পদ্ধতি, যেমন উইন 8 এপিআইয়ের অনেকগুলি ফাংশন।
অন্য কথায়, async
/ টাস্ক-ভিত্তিক অ্যাসিনক্রোনাস প্যাটার্নেরawait
একটি এক্সটেনশন । আপনি এখানে প্রচুর নমুনা সহ একটি বিশাল হোস্টের সন্ধান করতে পারেন ।
এটি BackgroundWorker
হ'ল একটি উইনফর্মস উপাদান যা ইভেন্ট-ভিত্তিক অ্যাসিনক্রোনাস প্যাটার্নটি ব্যবহার করে 1 পটভূমি থ্রেড তৈরি করে এবং আপনি DoWork
ইভেন্ট হ্যান্ডলারে আপনার নিজের কোড দিয়ে এই ব্যাকগ্রাউন্ড থ্রেডে করা কাজটি পপুলেট করতে পারেন । সাধারণভাবে, মাইক্রোসফ্ট আর এই প্যাটার্নটি ব্যবহার করার পরামর্শ দেয় না ( এখানে পৃষ্ঠার নীচের অংশটি দেখুন ), আপনি যদি ইতিমধ্যে এটি সম্পর্কে পরিচিত হন তবে এটি এখনও একটি সহজ বিকল্প হতে পারে।
উল্লিখিত না হওয়া অন্য একটি বিকল্পটি হ'ল .NET এর প্রতিক্রিয়াশীল এক্সটেনশনগুলি । এটি আপনার অ্যাপ্লিকেশনগুলিতে প্রতিক্রিয়া যোগ করার জন্য আর একটি দুর্দান্ত কাঠামো।