לדלג לתוכן

8.6 - מנוע רב־תהליכוני וסביבת טוקיו - תרגול

תרגול מנוע ועבודה חוסמת

תרגיל ראשון

תקנו את דוגמת Rc בשתי דרכים: מעבר ל־Arc, וצמצום תחום החיים לפני ההשהיה. הסבירו מתי כל תיקון מתאים, ומדוע הוספת unsafe impl Send אינה תיקון מוצדק.

תרגיל שני

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

תרגיל שלישי

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