Interlocked.Exchange، ولكن ليس للقيم المنطقية؟
-
09-06-2019 - |
سؤال
هل هناك ما يعادل Interlocked.Exchange
لمنطقية؟
مثل التبادل الذري للقيم الذي يُرجع القيمة السابقة ولا يتطلب الأقفال؟
المحلول
لا؛استخدم الأعداد الصحيحة بدلاً من القيم المنطقية.
من حيث المبدأ يمكن كتابة شيء من هذا القبيل (cmpxchg، تعليمات المعالج الأساسية، يمكن أن تعمل على معاملات 8 و16 و32 و64 بت على معاملات x86 و8 و16 و32 و64 و128 بت على x64)، ولكن من الناحية العملية، تلتزم معظم واجهات برمجة التطبيقات بمعاملات المؤشر والمؤشر المزدوج (32 و64 بت على x86 و64 و128 بت على x64)، لأنها كل ما تحتاجه حقًا.
لا تنتمي إلى StackOverflow