***3
ویندوز ها ، همگام سازی بین نخ های را به عنوان بخشی از معماری شیء فراهم می کند
دو روش مهم همگام سازی عبارتند : از اشیای همگام سازی و اشیای بخش بحرانی .
اشیای همگام سازی از توابع انتظار استفاده می کنند .
ابتدا توابع انتظار را توصیف می کنیم و سپس به این دو نوع شیء می پردازیم .
***4
توابع انتظار
توابع انتظار به نخ اجاره می دهند اجرایش را مسدود کند . توابع انتظار خاتمه نمی یابد تا معیاری برآورده شود .
نوع تابع انتظار مجموعه ای از معیارهای مورد استفاده را نشان می دهد . وقتی تابه انتظار فراخوانی می شود،بررسی می کند آیا معیار انتظار برآورده شده است تا خیر؟ اگر معیار انتظار برآورده نشود .
نخ فراخوان وارد حالت انتظار می شود . در حالی که منتظر برآورده شدن معیاری است، زمان پردازنده را مصرف نمی کند .
ساده ترین نوع تابع انتظار،بر روی یک شیء منتظر می ماند
***5
اشیای همگام سازی
راهکار مورد استفاده مجری ویندوز برای پیاده سازی امکانات
همگام سازی ، خانواده اشیای همگام سازی است
***7
هر نمونه از شیء همگام سازی می تواند در حالت سیگنال داده
شده یا سیگنال داده نشده باشد .
نخ می تواند بر روی شیء ای در حالت سیگنال داده نشده معلق
بماند . وقتی شیء به حالت سیگنال داده شده می رود ، نخ آزاد
می گردد . این راهکار ساده است :
نخ درخواست انتظار را با استفاده از، دستگیره شیء همگام سازی
***8
به مجری ویندوز می فرستد . وقتی شیء وارد حالت سیگنال داده می شود .
مجری ویندوز تمام اشیای نخی را که روی آن شیء همگام سازی منتظر هستند آزاد می سازد .
شیء رویداد
برای ارسال سیگنال به یک نخ به کار می رود تا نشان دهد که رویداد خاصی داده است .
به عنوان مثال ،
در ورودی و خروجی همپوشانی شده ، وقتی عملیات همپوشانبی به اتمام می رسد.سیستم یک شیء رویداد