بُنى البيانات الخالية من الأقفال: توازن بين الأداء والمخاطر
2025-05-16
يتناول هذا المقال بالتفصيل تطبيق مصفوفة خالية من الأقفال، `LockFreeArray`، في لغة Rust. يستخدم هذا التطبيق العمليات الذرية وقائمة فارغة لتحقيق الإدراج والاسترجاع الخالي من الأقفال عبر عدة مؤشرات ترابط، مما يلغي عبء الأداء الناتج عن الأقفال. يشرح المقال بالتفصيل `AtomicPtr` و `AtomicUsize` و `compare_exchange`، ودور ترتيب الذاكرة الحاسم. تُظهر المقاييس المعيارية ميزة أداء كبيرة مقارنة بـ `Mutex>>` (أسرع بمعدل 83.19%). ومع ذلك، يُشدد المقال على المخاطر المتأصلة في البرمجة الخالية من الأقفال، والتي تتطلب فهمًا عميقًا لنماذج الذاكرة والعمليات الذرية لتجنب سباقات البيانات وتسربات الذاكرة.
(yeet.cx)
التطوير
خالية من الأقفال