ConfigureAwait কি?
ConfigureAwait কি?

ভিডিও: ConfigureAwait কি?

ভিডিও: ConfigureAwait কি?
ভিডিও: আমি কোনটি ব্যবহার করব, ConfigureAwait True বা False? 2024, মে
Anonim

কনফিগারঅ্যাওয়েট (মিথ্যা) এমন একটি কাজকে অন্তর্ভুক্ত করে যা ইতিমধ্যেই এটি প্রতীক্ষিত সময়ের মধ্যে সম্পন্ন হয়েছে (যা আসলে অবিশ্বাস্যভাবে সাধারণ), তারপর কনফিগারঅ্যাওয়েট (false) অর্থহীন হবে, কারণ থ্রেডটি এর পরে পদ্ধতিতে কোড চালাতে থাকে এবং এখনও একই প্রসঙ্গে যা আগে ছিল।

পরবর্তীকালে, কেউ জিজ্ঞাসা করতে পারে, ConfigureAwait মিথ্যা ব্যবহার কি?

কনফিগারঅ্যাওয়েট ( মিথ্যা ) টাস্কটি কনফিগার করে যাতে অপেক্ষার পরে ধারাবাহিকতাকে কলার প্রেক্ষাপটে চালানোর প্রয়োজন না হয়, তাই কোনও সম্ভাব্য অচলাবস্থা এড়ানো যায়।

উপরের পাশে, Synchronization Context কি? সিঙ্ক্রোনাইজেশন প্রসঙ্গ বর্তমান পরিবেশের একটি উপস্থাপনা যা আমাদের কোড চলছে। অর্থাৎ, একটি অ্যাসিঙ্ক্রোনাস প্রোগ্রামে, যখন আমরা কাজের একটি ইউনিট অন্য থ্রেডে অর্পণ করি, তখন আমরা বর্তমান পরিবেশটি ক্যাপচার করি এবং এটিকে একটি উদাহরণে সংরক্ষণ করি সিঙ্ক্রোনাইজেশন প্রসঙ্গ এবং এটি টাস্ক অবজেক্টে রাখুন।

এটি বিবেচনায় রেখে, কনফিগারআওয়াইটের ব্যবহার কী?

ব্যবহার কনফিগারঅ্যাওয়েট (মিথ্যা) অচলাবস্থা এড়াতে একটি বিপজ্জনক অনুশীলন। আপনি করতে হবে ConfigureAwait ব্যবহার করুন (মিথ্যা) সমস্ত তৃতীয়- এবং দ্বিতীয়-পক্ষের কোড সহ ব্লকিং কোড দ্বারা আহ্বান করা সমস্ত পদ্ধতির ট্রানজিটিভ ক্লোজারের প্রতি অপেক্ষার জন্য। ব্যবহার কনফিগারঅ্যাওয়েট (মিথ্যা) অচলাবস্থা এড়াতে সর্বোত্তম একটি হ্যাক)।

GetAwaiter কি?

GetAwaiter () পদ্ধতি, যা একটি উদাহরণ প্রদান করে যার একটি GetResult() পদ্ধতি রয়েছে। একটি ত্রুটিযুক্ত টাস্কে ব্যবহার করা হলে, GetResult() মূল ব্যতিক্রমটি প্রচার করবে (এইভাবে "অপেক্ষার কাজ; " তার আচরণ পায়)। GetResult() কারণ এটি একটি AggregateException এ মোড়ানোর পরিবর্তে টাস্ক ব্যতিক্রমগুলি সংরক্ষণ করে।