Текущий архив: 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.45 MB
Время: 0.006 c