Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.038 c
1-1095758544
kand
2004-09-21 13:22
2004.10.10
Как "выдернуть" из DataTimePicker или MonthCalendar номер месяца?


6-1091593309
Дмитрий Ботвин
2004-08-04 08:21
2004.10.10
Объём оперативной памяти


14-1095926430
DiamondShark
2004-09-23 12:00
2004.10.10
Деловая игра "Инквизиция"


8-1090305304
Алекс
2004-07-20 10:35
2004.10.10
Звуки Windows


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский