IPB
ЛогинПароль:

> потоки, Thread ,freepascal
virt
сообщение 12.01.2006 1:06
Сообщение #1


Знаток
****

Группа: Пользователи
Сообщений: 419
Пол: Мужской

Репутация: -  6  +


Код
program test;
{$threading on}
uses sysutils ,crt;
var finished : longint;

function f1(p : pointer) : longint;
begin
   while not keypressed do;
   InterLockedIncrement(finished);
   f1 := 0;
end;

begin
   finished := 0;
   BeginThread(@f1);
   while finished < 1 do;
end.


Самая простая программа использующая потоки. При запуске загруженность процессора 96-98%. Как сделать чтобы не было такой загрузки? Suspend ,Resume? А без них можно?


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 12.01.2006 14:20
Сообщение #2


Гость






virt, жестоко... smile.gif
program test;
{$threading on}
uses sysutils ,crt;
var finished : longint;

function f1(p : pointer) : longint;
begin
while not keypressed do sleep(100);
InterLockedIncrement(finished);
f1 := 0;
end;

begin
finished := 0;
BeginThread(@f1);
while finished < 1 do sleep(100);
end.

Выше 3% не поднимается...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 19:43
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"