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

Вниз

Тормозит многопоточное приложение (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
4-91131
ihacker
2002-01-20 17:39
2002.03.28
пиктограмма на панели задач


1-90953
novom
2002-03-13 15:06
2002.03.28
Преобразовать в стандартный формат.


1-90920
DeNN
2002-02-28 21:15
2002.03.28
Как?


1-90862
Bonus
2002-03-13 20:01
2002.03.28
Как выгрузить массив из памяти ?


1-90915
Беляков Алексей
2002-03-18 14:48
2002.03.28
решатель задач математического программирования





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский