מנעול (תוכנה) – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
שורה 15:
 
====תרחיש ראשון: ללא שימוש במנעול (תוצאה שגויה)====
1.# תהליכון '''א'''' קורא מהזיכרון את הערך שבמקום X
2.# תהליכון '''א'''' מגדיל את הערך ב-1
3.# תהליכון '''ב'''' קורא מהזיכרון את הערך שבמקום X
4.# תהליכון '''ב'''' מגדיל את הערך ב-1
5.# תהליכון '''ב'''' כותב למקום X את הערך החדש
6.# תהליכון '''א'''' כותב למקום X את הערך החדש
הערך גדל לבסוף רק פעם אחת: השינוי שביצע תהליכון ב' נדרס על ידי הכתיבה לזיכרון של תהליכון א'. לכן, בסביבה עם תהליכונים רבים החולקים זיכרון, פעולת ה- increment צריכה להיות מוגנת על ידי מנעול.