PDA

View Full Version : سوال در مورد دو دستور Mutex و semaphores



clapton
چهارشنبه 15 آذر 1391, 17:26 عصر
سلام دوستان.
من دارم یه برنامه ی Multitasking مینویسم که هدفش مدیریت ورود و خروج ماشین ها به یک پارکینگ هست.
استادم گفته از این دستورات Mutex و semaphores استفاده کنم.Mutex رو تقریبا فهمیدم کارش چیه اما Semaphore رو نمی فهمم چه استفاده ی ازش میشه کرد.ممنون میشم راهنمایی کنید.

#target
چهارشنبه 15 آذر 1391, 18:10 عصر
سمافور رو مثلا میشه برا ظرفیت پارکینگ گذاشت
مثلا پارکینگ پنج تا ظرفیت داره روش سمافور میذاری با مقدار اولیه 5 . که هر ماشین وارد شد اگه سمافور مثبت بود وارد بشه و یک واحد ازش کم کنه و هر ماشینی هم خارج شد یک واحد به سمافور اضافه کنه .
اگه ماشینی اومد و سمافور صفر بود یعنی ظرفیت نیست و اجرا متوقف میشه تا زمانی که ی ماشین خارج شه و سمافور ی عدد مثبت بشه در اینصورت با مثبت شدن، اون منتظر آزاد میشه .

ایجاد سمافور در ویندوز با تابع CreateSemaphore انجام میشه
Mutex تابع CreateMutex و برای قرار دادن Wait بر روی آن از تابعی مثل WaitForSingleObject استفاده میشه