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

Вниз

Тормозит многопоточное приложение (SMTP-сервер)   Найти похожие ветки 

 
hardward   (2002-01-11 07:56) [0]

Тормозит многопоточное приложение (SMTP-сервер)

Даже при 3-х потоках загрузка системы 99%. Хотя предполагалось использовать 100-200.

Код примерно такой:

Procedure Thr.Execute;
Begin
Echo1.Connect;
…………………..
Str1 := Echo1.ReadLn;
Echo1.Writeln("HELO lis.com");
Str1:= Echo1.ReadLn;
Str1:= Echo1.Echo ("MAIL FROM: "
Дальше идет диалог с SMTP-сервером через Echo1.Echo
Echo1.Disconnect;
End;


 
Fellomena   (2002-01-11 12:12) [1]

Могу предположить (т.к. кода нет), что при работе с потоками ты их синхронизируешь... тогда конечно всё будет тормозить...
Привети код.


 
SV ©   (2002-01-13 15:11) [2]

Или сразу создаешь, про запас многовато потоков.


 
Vlad____   (2002-01-14 13:33) [3]

Дело в том, что когда потоки работают - они заметно все тормозят, и загрузка системы 99% это нормально даже при двух потоках. Micrisoft не рекомендует использовать много потоков работающих одновременно. Совсем другое дело если использовать торможение потоков ( см. в Делфи TEvent и т.п.) ,например, когда потоку нечего делать и нужно ждать данных из сокета, то TEvent.WaitFor(..) останавливает поток, а когда уже есть данные то TEvent.SetEvent и остановленный поток продолжает работать.


 
nikkie ©   (2002-01-14 13:59) [4]

загрузка системы 99% при двух потоках - это НЕ нормально

конечно, если внутри потоков крутится просто бесконечный цикл, то получишь эти самые 99%. но если этот цикл, например, выглядит как
while (GetMessage(...)) do begin ... end;
то загрузка будет нормальная по причине того, что пока нет "данных" GetMessage не возвращает управление потоку.

GetMessage в данном случае не причем, конечно. но грамотно организованное чтение из сокета точно также не должно тормозить.

мне кажется проблема - в компоненте (я так понимаю используется TNMEcho - что у него творится внутри можно только догадываться). может имеет смысл попробовать инди? эти компоненты писались с тем, чтобы быть использованными в многопоточных приложениях...



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
6-91026
Ramid
2002-01-16 13:37
2002.03.28
Доспуп к свойтвам Internet Explorer (СОМ) при работе с SHTTP, а работа с СОМ при использовании потоков


14-91076
Juct_me
2002-02-15 21:52
2002.03.28
Как мне изменить: Размер шрифта в свойствах экрана ?


3-90766
Malder
2002-02-27 16:58
2002.03.28
Создание обзоров


1-90984
kserg@ukr.net
2002-03-15 11:34
2002.03.28
Как в форме передать FOCUS на след. по TabOrder control?


3-90790
ev
2002-02-22 21:05
2002.03.28
IB или MS SQL Server