Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.30;
Скачать: CL | DM;

Вниз

поток   Найти похожие ветки 

 
serg!   (2004-05-17 10:08) [0]

помогите, пожалуйста!
нужно использовать поток в программе. приоритет ставлю tpLower. но при запуске потока TaskManager показывает загрузку процессора 99%! так и должно быть? код вот такой:
procedure TMyThread.Execute;
begin
 while not Terminated do
   tt:=DateTimeToStr(Now);
end;


 
Verg ©   (2004-05-17 10:16) [1]

Да, при таком коде потока, так и должно быть.


 
Erik ©   (2004-05-17 10:16) [2]

А, что ты хотел сделать? Надо всегда думать, что будут делать твой код. Поставь Sleep(50); внутрь цикла.


 
panov ©   (2004-05-17 10:18) [3]

Так и должно быть.
Поток у тебя работает в цикле непрерывно, поэтому Task manager и показывает это тебе.

Поток создается для какой-то конкретной работы, а недля сомнительного цикла tt:=DateTimeToStr(Now);

А если изменишь свой код так, например -

while not Terminated do
begin
tt:=DateTimeToStr(Now);
Sleep(1);
end;


- 100%-ой загрузки не будет.


 
Петров Денис ©   (2004-05-17 10:20) [4]

> serg!   (17.05.04 10:08)

Сам по себе приоритет выполнения потока вовсе не означает, что он не будет использовать 99% процентов процессорного времени.

Просто когда поток с более высоким приоритетом потребует от процессора "внимания", тот, в соответсвии с системой приоритетов, приостановит выполенние потока с более низким приоритетом и отдаст квант времени новому потоку.

Тем более, 98% загрузки процессора нормально при таком коде, как у тебя в примере.



Страницы: 1 вся ветка

Текущий архив: 2004.05.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
3-1084091423
Romeo
2004-05-09 12:30
2004.05.30
Пробема с "INSERT INTO"


3-1083765179
Dimedrol
2004-05-05 17:52
2004.05.30
Компонент типа DBTreeView


14-1084276563
Cerber
2004-05-11 15:56
2004.05.30
.Net


7-1082307832
kat
2004-04-18 21:03
2004.05.30
В чем кроме paramstr могут передаваться параметры.


6-1081958762
***ghost***
2004-04-14 20:06
2004.05.30
Как с помощью TClientSocket и TServerSocket отправлять файлы