![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 8 Всего: 154 |
Кто-нибудь использовал механизмы APC? Я просто не представляю как можно это применять на практике, что может потребоваться выполнить в случае, если поток перешел в alertable state. Для чего вы используете данный механизм?
|
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
дежурное состояние удобно использовать в том случае, когда требуется освободить какие-либо ресурсы по завершению асинхронной задачи, а слежение за прогрессом этой задачи не нужен
механизм довольно простой, суть его в том, что раздача уведомлений о завершении асинхронных операций происходит автоматически в заданный callback на определенном отрезке времени, в который выполняется любая из функций дежурного ожидания: SleepEx WaitForMultipleObjectsEx WaitForSingleObjectEx и т.п. каждая требует дополнительный параметр bAlertable, который должен выставляться в TRUE любой вызов callback'а, по завершении операции, отпускает (сигнализирует) эту функцию, если асинхронная операция была вызвана из того же потока, в котором вызывается функция ожидания, т.е. если задано четкое число операций N, то после сигнализации ожидания N-раз, можно считать, что все задачи были выполнены (напоминает семафор, в каком то роде) -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 8 Всего: 154 |
Спасибо, хотя видимо, мне это и не нужно)
Добавлено через 1 минуту и 30 секунд освобождать ресурсы можно в деструкторах объектов, данный подход видимо полезен при программировании на Си... |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
ну, здесь полезность немного в другом: дежурную задачу можно спокойно контролировать, т.е. давать ей столько времени, сколько мы хотим, а не сколько она требует -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |