תרגול תכנון תחת מגבלת זיכרון¶
הוסיפו למשאב מההרצאה מונה של בקשות שנדחו בגלל התקציב ומונה נפרד של כישלונות מן המקצה העליון. שמרו על כך שכישלון אינו משנה את מספר הבתים החיים.
עדכון אטומי מבחינת המידע¶
כתבו מחלקה שמחזיקה std::pmr::vector<std::uint32_t> של רשומות. פעולת replace מקבלת span, בונה מועמד חדש על אותו משאב ומחליפה את המידע רק לאחר הצלחה מלאה. הגדירו שהמחלקה והמשאב משמשים תהליכון אחד.
בדקו עדכון ראשון, עדכון שני שנדחה כאשר הגרסה הישנה עדיין חיה ועדכון קטן שמצליח. לאחר דחייה השוו את כל הרשומות הישנות לערכן לפני הפעולה. חשבו חסם תחתון לשיא ההקצאה, והסבירו מדוע אין לחשב אותו רק מתוך גודל הרשימה החדשה.
מדיניות קבלה¶
תארו כיצד תטפלו בעשר בקשות החלפה שמגיעות יחד במערכת אמיתית. בחרו מספר מרבי של בקשות ממתינות, והגדירו מה קורה כאשר התור מלא. אין צורך לכתוב עדיין תור מקבילי; נדרש חוזה שמגדיר בעלות על הקלט, דחייה וביטול.
הגישו גם דוגמה אחת למצב שבו המשאב מאשר בקשה אך המערכת עדיין עלולה להיכשל, ודוגמה אחת שבה ה־working set יורד בלי שהתקציב המקומי משתחרר.