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

Вниз

Скока можно одновременно сетевых подключений и потоков?   Найти похожие ветки 

 
Mad_Ghost ©   (2002-12-06 14:53) [0]

1. Уважаемые мастера, никто не задавался вопросом, скока программируя на Делфи можно открыть потоков одновременно?
анпример Апач выдерживает 1000 потоков как я слышал, а скока я могу сделать, это зависит от машинки, или от чего ещё?
2. И сколько можно держать одновременно сетевых соединений, через TServerSockets и 2.1 TTCPServer ??????

очень нужно, заранее благодарен.


 
Romkin ©   (2002-12-06 15:04) [1]

Насчет потоков - не считал, но оооочень много, и это от системы зависит :-))

procedure ThreadProc(Parm: pointer);
var
i,j: integer;
begin

while true do
begin
i := 0;
j := 0;
while i < MAXINT - 1 do
begin
i := i + 1;
j := i - 1;
end;
end;
end;

while true do
beginThread(.. ThreadProc, nil, ... );

что-то вроде этого...

- NT дохнет быстро


 
Mad_Ghost ©   (2002-12-06 15:12) [2]

на счет потоков понятно, спасибо, а вот ещё на счет сетевых подключений? по TCP, например клиент присоединился передал че нужно и сразу удаляется, или можно например, установить соединение и висеть немеряно долго, и например 1000 соединений, такое возможно?


 
Anatoly Podgoretsky ©   (2002-12-06 15:16) [3]

Mad_Ghost © (06.12.02 15:12)
Количество также системой ограничено, где то в реестре прописано, поэтому может быть разное


 
Digitman ©   (2002-12-06 15:23) [4]


> программируя на Делфи


Причем здесь Делфи ?


> скока я могу сделать, это зависит от машинки, или от чего
> ещё?


Теоретически - до 2^32 - 1. ОС ведет сч-ки потоков каждого процесса в полях типа ULONG

I>
> сколько можно держать одновременно сетевых соединений, через
> TServerSockets


Теоретически - Min(MAX_LONG, MAX_SOCKETS)


 
Mad_Ghost ©   (2002-12-06 15:26) [5]

аха, понял большое спасибо Вам .....


 
Digitman ©   (2002-12-06 15:29) [6]

Практически же каждый процесс может иметь не более 64к потоков

Ибо ВАП процесса - не резиновое, а 1-й эл-т TEB-стека процесса расположен по вирт.адресу 7FFDD000, каждый эл-т = 4к и растет стек в сторону уменьшения адресов.


 
Sha ©   (2002-12-06 15:42) [7]

Думаю макс. под NT 65355 соединений, реально достигнуть 4000-5000.


 
Anatoly Podgoretsky ©   (2002-12-06 15:49) [8]

В 9х это будет еще хуже, порядка 1500 или менее


 
Digitman ©   (2002-12-06 15:55) [9]


> скока я могу сделать, это зависит от


как ОС (платформы), так ресурсов, находящихся в ее распоряжении на конкр.момент времени


 
VaS ©   (2002-12-06 16:58) [10]

Еще надо учитывать размер стека каждого потока. По умолчанию в виндоус он равен 1М.
To Romkin: с таким кодом осторожнее - не забудь выставить руками IsMultiThread:=true.



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

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

Наверх




Память: 0.49 MB
Время: 0.019 c
4-61859
mikl2002
2002-11-06 09:25
2002.12.19
ShFileOperation - Shnamemapping


1-61602
Bishop
2002-12-08 23:56
2002.12.19
Быстрая очистка StringGrid


3-61472
Valeron
2002-11-29 16:44
2002.12.19
Ошибка с параметром в TQuery


1-61533
andrew
2002-12-09 13:51
2002.12.19
Перерисовка controls


4-61885
Обсолютный ноль
2002-11-07 20:22
2002.12.19
Вопрос по WinAPI