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

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



Память: 0.46 MB
Время: 0.008 c
1-90864
gluk
2002-03-17 09:50
2002.03.28
XOR и string


1-90956
som
2002-03-14 14:53
2002.03.28
Zip архивы


4-91108
Velocity
2002-01-25 22:33
2002.03.28
Скриншот десктопа


1-90972
ivit61
2002-03-13 10:52
2002.03.28
Поиск метода по адресу


3-90762
af
2002-03-01 18:04
2002.03.28
Что за ошибка такая и как устанить =Blob already open =?




   Наверх