Главная страница
    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.45 MB
Время: 0.04 c
3-1084170288
Галинка
2004-05-10 10:24
2004.05.30
Запрос из связанных таблиц


3-1083336426
TankMan
2004-04-30 18:47
2004.05.30
Посоветуйте компонент...


1-1084609118
Delphir
2004-05-15 12:18
2004.05.30
LowerCase по русски


9-1075136639
DewersiA
2004-01-26 20:03
2004.05.30
Помогите обработать множество изображений


1-1084944309
IrBisoff
2004-05-19 09:25
2004.05.30
MouseEnter & MouseLeave





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский