Нагрузка процессора 100%

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Нагрузка процессора 100%

Сообщение ADEX » 25.07.2005 17:26:01

Мне нужно приостанавливать выполнение программы каждые 10 секунд. Написал такой таймер:

Код: Выделить всё
oldTime:=Time;
repeat
   begin
   newTime:=Time;
   x:=newTime-oldTime;
   if x<0 then x:=10;
   end;
until x>=10;


Time - это функция, возвращающая системное время.

После компиляции в Freepascal программа нагружает процессор на 100%, а если компилировать в Borland Pascal 5.5, то около 20%. Borland Pascal не годится из-за другой причины (win32).
Посоветуйте, пожалуйсто, как оргнизовать таймер.

Спасибо!
Последний раз редактировалось ADEX 20.04.2009 04:23:59, всего редактировалось 1 раз.
ADEX
незнакомец
 
Сообщения: 3
Зарегистрирован: 21.07.2005 20:03:45

Сообщение ushakov » 25.07.2005 17:56:03

Есть такая функция, Sleep(<кол-во миллисекунд>)
ushakov
новенький
 
Сообщения: 51
Зарегистрирован: 18.05.2005 11:15:48
Откуда: Украина, Киев

Сообщение Dmitry » 25.07.2005 17:58:37

1. Используй процедуру Delay() из модуля Crt.
2. Используй процедуру Sleep() из модуля SysUtils.
Dmitry
новенький
 
Сообщения: 52
Зарегистрирован: 05.07.2005 08:53:06

Сообщение Sniper » 25.07.2005 19:21:15

или GetTickCount() из windows
Sniper
постоялец
 
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение ev » 25.07.2005 19:29:55

2 ADEX
твой пример не является таймером
он не переводит компьютер в ожидание, а постоянно производит вычисления (получает время и сравнивает)
ev
долгожитель
 
Сообщения: 1763
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17

Рейтинг@Mail.ru