Текущий архив: 2003.06.19;
Скачать: CL | DM;
Вниз
запуск в определенный момент времени !? Найти похожие ветки
← →
YDV (2003-04-13 19:26) [0]доброго Вам времени суток !...
... кто-нибудь разбирался с вопросом запуском определенных процедур по времени, ну например каждые 20 минут...
недавно я начал копать... написал основную прогу к ней приделал поток, который постоянно смотрит на часики и проверяет необходимость на запуск, в принципе все работает, но есть одно но !!! - прога в этом случае ест примерно 99% процессорного времени !
Может можно ето сделать как-нибудь инначе, с меньшими затратами времени проца ?
заранее спасибо за ответ !
← →
sniknik (2003-04-13 20:52) [1]не проверяй постоянно а делай sleep(20мин*60сек*1000) между запусками.
← →
Leo-pro (2003-04-14 13:25) [2]Используй Timer
← →
YDV (2003-04-14 17:27) [3]спасибо за ответы !...
>sniknik:
с sleep реально помагло !!! получилось примерно так:
repeat
//...
sleep(1000);
if t=my_time then
if t<>was then begin
//...что-нибудь делаем
was:=t
end;
//...
until terminated;
>Leo-pro:
c Timer-ом у меня не получится:
через каждые 20 минут прога срабатывает и делает ресурсоемкие расчеты и передачи, кроме того еще должна отрабатывать несколько полезностей, которые могут выполнится одновременно с этими расчетами- вот и пришлось поток использовать.
← →
Digitman (2003-04-15 08:37) [4]Для того, чтобы код.поток не "ел" процессорное время и в то же время мог оперативно реагировать на системные/прикладные события/сообщения, необходимо везде где это возможно избегать применения sleep(), а вместо этого задействовать системные объекты синхронизации (mutex, event, semaphore e.t.c) и ф-ции ожидания срабатывания объектов синхронизации
← →
YDV (2003-04-15 08:52) [5]>Digitman:
Спасибо за уточнение !
Страницы: 1 вся ветка
Текущий архив: 2003.06.19;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.007 c