Есть программа в которой надо регулярно производить действия через равные промежутки времени. Попытка написать самому функцию задержки на основе класса CTime не привела к добру. Скопированная с сайта Майкрософта подсказка из MSDN типа
ничего хорошего не дает, так как грузит процессор на все сто во время "простоя" и еще к тому же компилятор все паузы собирает в одну, от чего получается вообще ерунда. Помогите сделать паузу.
Здравствуйте IT, вы писали:
IT>Sleep не грузит процессор, операционка использует это время для выполнения других задач. Просто твой sleep должен выглядеть примерно так.
IT>void sleep( int msec ) IT>{ IT> Sleep(msec); IT>}
Здравствуйте Mainframer, вы писали:
M>Есть программа в которой надо регулярно производить действия через равные промежутки времени. Попытка написать самому функцию задержки на основе класса CTime не привела к добру. Скопированная с сайта Майкрософта подсказка из MSDN типа
M>void sleep( clock_t wait ) M>{ M> clock_t goal; M> goal = wait + clock(); M> while( goal > clock() ); M>}
M>ничего хорошего не дает, так как грузит процессор на все сто во время "простоя" и еще к тому же компилятор все паузы собирает в одну, от чего получается вообще ерунда. Помогите сделать паузу.
Нужно больше инфо.:
— Какая структура никти
— Обрабатываются ли в ней Windows сообщения
— Используешь ли ты WaitFor....Object(s)
— Для какой ОС?
— Какая нужна точность интервалов?
Так же было бы полезно показать скелет кода, в котором тебе нужна эта задержка
IT>>Sleep не грузит процессор, операционка использует это время для выполнения других задач. Просто твой sleep должен выглядеть примерно так.
E>А смысл? :)
А при чём тут смысл? Раз надо значит надо ;)
Если нам не помогут, то мы тоже никого не пощадим.