Atomicity - بالعربي

About this video

- الأومتي (Atomicity) هي خاصية مهمة في كتابة الكود المتزامن (Concurrent Code)، وهي تشير إلى أن جزءًا معينًا من الكود لا يمكن تقسيمه أو مقاطعته أثناء تنفيذه. - الكود الأتوميك يضمن أنه لن يحدث تدخل من عمليات أخرى أثناء تنفيذه، مما يحافظ على النتائج المتوقعة. - لتحديد ما إذا كان الكود أتوميك أم لا، يجب طرح السؤال: "هل النتيجة التي يتم الحصول عليها بعد تنفيذ الكود هي النتيجة الوحيدة الممكنة؟" - مثال على ذلك: إذا كان لدينا عملية مثل `sum = sum + x`، فإن هذه العملية ليست أتوميك لأنها تتكون من عدة خطوات (قراءة القيمة، إجراء العملية الحسابية، تخزين النتيجة). - الخطوات الأربعة في المثال: 1. قراءة قيمة `sum`. 2. إجراء العملية الحسابية (`sum + x`). 3. تخزين النتيجة في `sum`. - السؤال هنا هو: هل يمكن أن يحدث تدخل من عملية أخرى أثناء تنفيذ هذه الخطوات؟ - الإجابة هي نعم، حيث يمكن لعملية أخرى أن تقرأ أو تعدل على قيمة `sum` قبل اكتمال العملية الأولى، مما يؤدي إلى نتائج غير متوقعة. - لذلك، الكود في هذا المثال ليس أتوميك، ويجب التعامل معه بحذر لتجنب الأخطاء في البرامج المتزامنة.


Course: Concurrency Miniseries

Imported from YouTube playlist

View Full Course