Всем добрый день.
Посоветайте пожалуйсто как грамотнее построить цыкл проверки времени.
Задача состоит в том, чтобы в различные(заранее заданные) периуды времени запускать разные процедуры. Понимаю что надо использовать GetLocalTime и строить что то типа while с задержкой внутри, но может у когонибуть есть более грамотные решения.
Спасибо.
25.07.11 17:55: Перенесено модератором из 'C/C++' — Odi$$ey
25.07.11 17:55: Перенесено модератором из 'C/C++' — Odi$$ey
Здравствуйте, rcon111, Вы писали:
R>Всем добрый день. R>Посоветайте пожалуйсто как грамотнее построить цыкл проверки времени. R>Задача состоит в том, чтобы в различные(заранее заданные) периуды времени запускать разные процедуры. Понимаю что надо использовать GetLocalTime и строить что то типа while с задержкой внутри, но может у когонибуть есть более грамотные решения. R>Спасибо.
Так делать не надо. ОС предоставляет для этого все необходимое, для Windows — WaitForSingleObject, для Unix — select и им подобные.
Здравствуйте, Ytz, Вы писали:
Ytz>Здравствуйте, rcon111, Вы писали:
R>>Всем добрый день. R>>Посоветайте пожалуйсто как грамотнее построить цыкл проверки времени. R>>Задача состоит в том, чтобы в различные(заранее заданные) периуды времени запускать разные процедуры. Понимаю что надо использовать GetLocalTime и строить что то типа while с задержкой внутри, но может у когонибуть есть более грамотные решения. R>>Спасибо.
Ytz>Так делать не надо. ОС предоставляет для этого все необходимое, для Windows — WaitForSingleObject, для Unix — select и им подобные.
а можно поподробнее чего должен ожидать WaitForSingleObjec ? и мне нужно чтобы цыкл постоянно работал и запускал разные процессы???
Здравствуйте, rcon111, Вы писали:
R>Здравствуйте, Ytz, Вы писали:
Ytz>>Здравствуйте, rcon111, Вы писали:
R>>>Всем добрый день. R>>>Посоветайте пожалуйсто как грамотнее построить цыкл проверки времени. R>>>Задача состоит в том, чтобы в различные(заранее заданные) периуды времени запускать разные процедуры. Понимаю что надо использовать GetLocalTime и строить что то типа while с задержкой внутри, но может у когонибуть есть более грамотные решения. R>>>Спасибо.
Ytz>>Так делать не надо. ОС предоставляет для этого все необходимое, для Windows — WaitForSingleObject, для Unix — select и им подобные.
R>а можно поподробнее чего должен ожидать WaitForSingleObjec ? и мне нужно чтобы цыкл постоянно работал и запускал разные процессы???
MSDN читай, я только суть расскажу — функцией CreateEvent создаешь обьект, передаешь его WaitForSingleObject, после чего можешь в синхронном режиме дождаться окончания таймаута, в асинхронном режиме можешь не дожидаться таймаута, а сам следить за состоянием. В MSDN есть примеры.
Здравствуйте, rcon111, Вы писали:
R>Всем добрый день. R>Посоветайте пожалуйсто как грамотнее построить цыкл проверки времени. R>Задача состоит в том, чтобы в различные(заранее заданные) периуды времени запускать разные процедуры. Понимаю что надо использовать GetLocalTime и строить что то типа while с задержкой внутри, но может у когонибуть есть более грамотные решения.
Здравствуйте, okman, Вы писали:
O>Здравствуйте, rcon111, Вы писали:
R>>Всем добрый день. R>>Посоветайте пожалуйсто как грамотнее построить цыкл проверки времени. R>>Задача состоит в том, чтобы в различные(заранее заданные) периуды времени запускать разные процедуры. Понимаю что надо использовать GetLocalTime и строить что то типа while с задержкой внутри, но может у когонибуть есть более грамотные решения.
O>Здесь.
Да не факт, что ему это нужно. Может и обычного виндового таймера хватит. А может скрипта, который "процедуры" в шедулер добавит. Еще я бы ТСу букварь посоветовал почитать (хотя не думаю, что русский для него родной).
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, rcon111, Вы писали:
R>Всем добрый день. R>Посоветайте пожалуйсто как грамотнее построить цыкл проверки времени. R>Задача состоит в том, чтобы в различные(заранее заданные) периуды времени запускать разные процедуры. Понимаю что надо использовать GetLocalTime и строить что то типа while с задержкой внутри, но может у когонибуть есть более грамотные решения. R>Спасибо.
извиняюсь за грамотность. ((( нужно чтобы в определенный день и час (задается) запускались различные процессы (что то типа планировщика) , и цикл работал дальше.
Здравствуйте, rcon111, Вы писали:
R>нужно чтобы в определенный день и час (задается) запускались различные процессы (что то типа планировщика) , и цикл работал дальше.
Если речь о винде, то таки прямее всего создать событие в планировщике. Может тебе и программировать ничего не надо, ты глянь в планировщик-то...
Если же тебе надо именно вот чтобы программа работала работала, а через 723 часа что-то случилось, то есть такая функция SetTimer. Она позволяет задать какую-то функцию, которая будет выполняться каждые сколько-то минут. При мервом срабатывании таймер можно снять...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
R>>Всем добрый день. R>>Посоветайте пожалуйсто как грамотнее построить цыкл проверки времени. R>>Задача состоит в том, чтобы в различные(заранее заданные) периуды времени запускать разные процедуры. Понимаю что надо использовать GetLocalTime и строить что то типа while с задержкой внутри, но может у когонибуть есть более грамотные решения.
O>Здесь.
Относительно задачи топикстартера, чем это лучше обычного sleep'a?
Здравствуйте, Олег К., Вы писали:
R>>>Всем добрый день. R>>>Посоветайте пожалуйсто как грамотнее построить цыкл проверки времени. R>>>Задача состоит в том, чтобы в различные(заранее заданные) периуды времени запускать разные процедуры. Понимаю что надо использовать GetLocalTime и строить что то типа while с задержкой внутри, но может у когонибуть есть более грамотные решения.
O>>Здесь.
ОК>Относительно задачи топикстартера, чем это лучше обычного sleep'a?
Тем, что на группу задач, которые должны срабатывать в определенное время, достаточно будет
выделить один поток, ждущий (WaitForMultipleObjects) на таймерах ожидания.