Поток простаи-вает
некоторое время
|
Способ ожидания, используемый потоком
|
GetQueuedCompletionStatus
|
Поток просыпается при
|
Постановке пакета запроса в
очередь порта
|
Таблица 5. Описание характеристик работы функции
BindIoCompletionCallback
Периодический вызов функции
В самом начале статьи я обещал рассказать о новых
«таймерных» функциях. До выхода Windows 2000 имелось три механизма
периодического вызова пользовательских функций: «оконный» таймер, Multimedia-таймер и ожидающий таймер. У каждого из них были серьезные
недостатки, к тому же они не поддерживали обработку запросов в пуле. Новые
функции по созданию очереди таймеров более универсальны.
В Windows 2000 появился новый объект – очередь
таймеров. Он основан на объекте исполнительной системы "ожидающий
таймер", так что в качестве механизма обратного вызова используется APC.
Создать объект можно с помощью следующей функции:
HANDLE CreateTimerQueue(VOID);
|
Она возвращает хендл объекта "очередь
таймеров" (queues of timers). После создания очереди в нее можно добавлять
новые таймеры. Для этого используется функция CreateTimerQueueTimer:
BOOL CreateTimerQueueTimer(
// указатель на хендл таймера
PHANDLE phNewTimer,
// хендл очереди таймеров
HANDLE TimerQueue,
// функция обратного вызова
WAITORTIMERCALLBACK Callback,
// параметр для функции обратного вызова
PVOID Parameter,
// время задержки перед первым вызовом в
милисекундах
DWORD DueTime,
// период в милисекундах
DWORD Period,
// флаги Рекомендуем скачать другие рефераты по теме: реферати, инновационная деятельность.
Предыдущая страница реферата | 11
12
13
14
15
16
17
18
19
20
21 | Следующая страница реферата
|
|