תרגול חוזה פעולה חופפת¶
הרחיבו את תוכנית הקריאה לשתי בקשות פעילות על אותו קובץ, עם שני buffers, שני מבני OVERLAPPED ושני אירועים. הבקשה הראשונה קוראת מן ההתחלה, והשנייה מן ה־offset ארבעת אלפים תשעים ושישה.
אספו את התוצאה של כל בקשה בנפרד, כולל ספירת בתים ושגיאה. הפעילו ביטול ממוקד רק עבור הבקשה השנייה. אל תניחו שהיא אכן תבוטל, משום שהיא עשויה להסתיים לפני שהביטול הגיע.
כתבו טבלת חיים שמתארת מי מחזיק את הקובץ, האירועים, המבנים וה־buffers בכל שלב. הוסיפו תרחיש שבו ביטול מחזיר ERROR_NOT_FOUND וההשלמה עדיין צריכה להיאסף.
לבסוף הסבירו מדוע שמירת הבקשות בתוך vector ואז push_back נוסף עלולה להיות מסוכנת. הציעו מבנה אחסון ששומר על כתובות יציבות, והגדירו מתי מותר למחוק כל בקשה.