![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Есть ли альтернатива TTimer? Хочу написать планировщик. [D6, Win2k, WinXP]
mvg_first © (2002-05-28 16:51:00)Возникла необходимость в моей программе запустить некий процес по достижении времени установленного пользователем. Причем таких процессов по времени может быть несколько (количество их тоже определяется пользователем). Как организовать такой запуск? Где то мимо пробегала информация что Ttimer в этом случае слишком грубое решение? Можно ли как нибудь по другому?
P.S. Можно ткнуть в какое нибудь руководство или FAQ. Но по сайту я искал, ничего меня на умную мысль не вывело.
vrraven (2002-05-28 19:24:00) [1]Я гдето в инете видел TThreadTimer. Поищи в Яндексе.
vr-raven (2002-05-28 19:24:00) [2]Я гдето в инете видел TThreadTimer. Поищи в Яндексе.
vuk (2002-05-28 18:16:00) [3]Разница в механизмах работы этих таймеров. Обычный таймер(а TTimer просто является оболочкой для обычного таймера) работает при помощи посылки оконных сообщений определенному окну.
WaitableTimer работает иначе - это, как я уже написал, объект синхронизации и идеально подходит для использования в многопоточных приложениях, поскольку может использоваться с функциями WaitForSingleObject/WaitForMultipleObjects. Также у WaitableTimer немного другая логика срабатывания.
mvg_first (2002-05-28 18:03:00) [4]Если не трудно. объясните кто-нибудь разницу между двумя этими методами? Какой лучше использовать. Основная моя цель уменьшить ресурсоемкость моей программы (так как она выполняет незначительную задачу в режиме ожидания) но для нее важно сработать точно в назначенное время. Причем возможно циклическое исполнение задачи. т.е. (каждый день в указанное время, каждую неделю и т.д.)
MBo (2002-05-28 17:26:00) [5]а простой SetTimer не устроит?
vuk (2002-05-28 17:02:00) [6]В NT-based ОС есть объект синхронизации WaitableTimer. Может поможет...
http://delphibase.endimus.com/?action=viewfunc&topic=sysiface&index=1