Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.47 MB
Время: 0.018 c
3-60039
Troy_piter
2003-05-27 01:17
2003.06.19
Помогите, пожалуйста, с редактированием связанных таблиц!


1-60199
OlegM
2003-06-05 12:13
2003.06.19
Как получить имена всех компонентов на форме опред. типа


3-60045
LeReve
2003-05-27 20:45
2003.06.19
как НОРМАЛЬНО создать поле MEMO (ДБ) в DatabaseDesktop?


14-60400
JibSkeart
2003-06-03 14:56
2003.06.19
Где можно найти Boot утилиты для Seagate ?


14-60420
iluxa
2003-06-03 18:07
2003.06.19
Где купить Delphi 5