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

Вниз

Потоки грузят проц...   Найти похожие ветки 

 
Bes   (2004-09-25 20:01) [0]

Вообщем такая вещь:

потоков многа, и все являются объектами класс TMyThread.
сразу скажу, потоки сидят в DLL. и из главной программы я их запускаю.

Вот примерная Execute процедура потока:

procedure TMyThread.execute;
begin
 while not Terminated do begin
     if not wait then begin
        ......
     end;
end;

переменная wait глобальная, ее ждут все потоки и если она в false то они начаниют работать...

а в чем трабла-то, потоков многа (до 100) хотя пока тестирую на 4, и когда глобальная переменная  true, проц у меня грузится на 100%. че делать, как лечить...

спасиба



 
Palladin ©   (2004-09-25 20:05) [1]

sleep


 
default ©   (2004-09-25 20:07) [2]

если ждать недолго в болшин-ве случае то Sleep иначе TEvent используй


 
Bes   (2004-09-25 20:08) [3]

2 Palladin : моей благодарности нет границ ... :)


 
Bes   (2004-09-25 20:11) [4]

2 default ну раз уж тема зашла, то можно по подробней о TEvent, или где почитать, посмотреть примерчики...


 
default ©   (2004-09-25 20:14) [5]

Bes   (25.09.04 20:11) [4]
тема объектов синхронизации очень проста(их самих а не ситуаций с ними я имею ввиду)
у Рихтера можно прочесть ну или в SDK естественно(MSDN ещё есть)


 
Defunct ©   (2004-09-26 05:31) [6]

default ©   (25.09.04 20:14) [5]
> тема объектов синхронизации очень проста(их самих а не ситуаций с ними я имею ввиду)

гы, весело, можно перефразирую, как я понял вашу фразу: тема проблем параллельного программирования очень проста (самих проблем, а не ситуаций с ними).

:)


 
Defunct ©   (2004-09-26 05:34) [7]

Bes   (25.09.04 20:11) [4]

насколько я понял про TEvent имелось в виду использование
Suspend/Resume самих потоков по каким-то событиям.


 
SergP.   (2004-09-26 11:51) [8]


> переменная wait глобальная, ее ждут все потоки и если она
> в false то они начаниют работать...


А не проще было бы сделать так чтобы потоки были остановлены, а тот кто меняет переменную wait пусть в этот момент запускает эти потоки ?



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

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

Наверх




Память: 0.48 MB
Время: 0.029 c
1-1095762449
Zilog
2004-09-21 14:27
2004.10.10
Ломанные линии. Запись на диск...


3-1094733398
Zlod3y
2004-09-09 16:36
2004.10.10
ADO и BDE ---> dbExpress


1-1095660056
П7
2004-09-20 10:00
2004.10.10
TTreeNode.Data - как правильно использовать?


14-1095837337
Romkin
2004-09-22 11:15
2004.10.10
Первый Прототип Персонального Компьютера


1-1096038896
AdmeraL
2004-09-24 19:14
2004.10.10
Tregistry