Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
1-1096127610
Fagot
2004-09-25 19:53
2004.10.10
REG_BINARY


4-1093965391
Arnold
2004-08-31 19:16
2004.10.10
Известен Handle окна, как узнать какой его тип (TForm,TButton..)


3-1094716608
Klerk
2004-09-09 11:56
2004.10.10
Два приложения используют BDE.


4-1094224836
Burmistroff
2004-09-03 19:20
2004.10.10
Обнаружение утечек памяти


14-1095429384
Sekr
2004-09-17 17:56
2004.10.10
Как устанавливать компоненты под Delphi7




   Наверх