לדלג לתוכן

פתרון הוכחת פרסום

ה־store של value קודמת ל־store release של ready בסדר המפיק. ה־load acquire של ready שרואה true מקבל את הפרסום, והקריאה ל־value באה אחריו בסדר הצרכן. הקשר הזה הוא הסיבה שהנתון זמין, ולא עצם היותם שני שדות באותו struct.

בשימוש חוזר נדרש גם אישור שהצרכן סיים לקרוא לפני שהמפיק משנה שוב את האחסון. דגל ready יחיד שנכתב מחדש בלי פרוטוקול יכול לגרום לקורא לבלבל בין דורות. תור טבעתי או מכונת מצבים עם חוזי בעלות מפורשים נותנים דרך להגדיר מתי כל צד רשאי להשתמש בחריץ.

בדוגמת שני האטומים, התוצאה של שתי קריאות ישנות יכולה להיות מותרת תחת סדר חלש, אבל אינה מתיישבת עם סדר כולל של ארבע פעולות SeqCst שמכבד את סדר כל תהליכון. המבחן צריך לבדוק את זוג התוצאות יחד ולא רק אם כל קריאה החזירה ערך חוקי בפני עצמה.