আমি .NET CancellationToken
স্ট্রাক্ট CancellationTokenSource
ক্লাস ছাড়াও কেন চালু হয়েছিল তার যৌক্তিকতা খুঁজছি । আমি বুঝতে পারি যে কীভাবে এপিআই ব্যবহার করা হবে, তবে কেন এটি সেভাবে ডিজাইন করা হয়েছে তাও বুঝতে চাই ।
অর্থাৎ, আমাদের কী আছে:
var cts = new CancellationTokenSource();
SomeCancellableOperation(cts.Token);
...
public void SomeCancellableOperation(CancellationToken token) {
...
token.ThrowIfCancellationRequested();
...
}
পরিবর্তে সরাসরি CancellationTokenSource
মত কাছাকাছি পাস :
var cts = new CancellationTokenSource();
SomeCancellableOperation(cts);
...
public void SomeCancellableOperation(CancellationTokenSource cts) {
...
cts.ThrowIfCancellationRequested();
...
}
টোকেনটি পাশ কাটিয়ে যাওয়ার চেয়ে বাতিলকরণ রাষ্ট্রের চেকগুলি আরও ঘন ঘন ঘটে যায় এই তথ্যের ভিত্তিতে এটি কি পারফরম্যান্স অপটিমাইজেশন?
সুতরাং এটি CancellationTokenSource
ট্র্যাক রাখতে এবং আপডেট করতে পারে CancellationTokens
এবং প্রতিটি টোকেনের জন্য বাতিলকরণ চেকটি কি কোনও স্থানীয় ক্ষেত্রের প্রবেশাধিকার?
উভয় ক্ষেত্রেই লকিংয়ের সাথে অস্থির একটি বিল যথেষ্ট কিনা তা এখনও কেন দ্রুত হবে তা আমি এখনও দেখতে পাচ্ছি না।
ধন্যবাদ!