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

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