Главная страница
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.025 c
4-1094214152
Falcon
2004-09-03 16:22
2004.10.10
Как узнать какое окно в системе в текущий момент имеет ввод?


1-1095838030
Clampo
2004-09-22 11:27
2004.10.10
скинка на текст


3-1094996828
Артем Владимирович
2004-09-12 17:47
2004.10.10
Взаимодействие приложения с удаленной БД


4-1094461814
Паскаль
2004-09-06 13:10
2004.10.10
button1.enabled:=sendmessage(...,em_canudo,0,0) выдает ошибку!


14-1095670956
}|{yk
2004-09-20 13:02
2004.10.10
Агония правительства Януковича,или что стоит за поднятием пенсий