![]() |
![]() |
virt |
![]() ![]()
Сообщение
#1
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 419 Пол: Мужской Репутация: ![]() ![]() ![]() |
Код 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? А без них можно? -------------------- |
![]() ![]() |
virt |
![]() ![]()
Сообщение
#2
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 419 Пол: Мужской Репутация: ![]() ![]() ![]() |
volvo,
методом проб и ошибок пришел к такому же результату:: Код program test; {$threading on} uses sysutils ,crt; var finished : longint; function f1(p : pointer) : longint; begin while not keypressed do Sleep(1); InterLockedIncrement(finished); f1 := 0; end; begin finished := 0; BeginThread(@f1); while finished < 1 do Sleep(1); end. Только вопрос ,Sleep(100) задает остановку в 100 секунд или миллисекунд? Загрузка 0%(близка к 0) Сообщение отредактировано: virt - 12.01.2006 15:52 -------------------- |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 19:45 |