Мой вопрос основывается на серии MSDN'вских статей под общим названием Using Synchronization Итак, для того чтобы синхронизироваться в Win32 есть такие иснструменты:- Мьютексы создаем с помощью CreateMutex();
- Семафоры создаем с помощью CreateSemaphore();
- Комбинация событий CreateEvent() и WaitForMultipleObjects()
- Критические секции EnterCriticalSection()
- Очереди таймеров (что-то в этом духе) комбинация CreateTimerQueue(), CreateTimerQueueTimer(), WaitForSingleObject()
- Ждущий таймер комбинация CreateWaitableTimer() WaitForSingleObject()
- InterlockedPushEntrySList() InterlockedPopEntrySList()
А теперь вопрос, так в чем принципиальное отличие задачи где должен быть применен мьютекса или, в ином случае семафор? Равно как в каком случае надо использовать очередь из таймеров, а в каком надо создать события? |