![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Скока можно одновременно сетевых подключений и потоков? [D6, Win2k]
Mad_Ghost © (2002-12-06 14:53:00)1. Уважаемые мастера, никто не задавался вопросом, скока программируя на Делфи можно открыть потоков одновременно?
анпример Апач выдерживает 1000 потоков как я слышал, а скока я могу сделать, это зависит от машинки, или от чего ещё?
2. И сколько можно держать одновременно сетевых соединений, через TServerSockets и 2.1 TTCPServer ??????
очень нужно, заранее благодарен.
VaS (2002-12-06 16:58:00) [1]Еще надо учитывать размер стека каждого потока. По умолчанию в виндоус он равен 1М.
To Romkin: с таким кодом осторожнее - не забудь выставить руками IsMultiThread:=true.
Digitman (2002-12-06 15:55:00) [2]
> скока я могу сделать, это зависит от
как ОС (платформы), так ресурсов, находящихся в ее распоряжении на конкр.момент времени
Anatoly Podgoretsky (2002-12-06 15:49:00) [3]В 9х это будет еще хуже, порядка 1500 или менее
Sha (2002-12-06 15:42:00) [4]Думаю макс. под NT 65355 соединений, реально достигнуть 4000-5000.
Digitman (2002-12-06 15:29:00) [5]Практически же каждый процесс может иметь не более 64к потоков
Ибо ВАП процесса - не резиновое, а 1-й эл-т TEB-стека процесса расположен по вирт.адресу 7FFDD000, каждый эл-т = 4к и растет стек в сторону уменьшения адресов.
Mad_Ghost (2002-12-06 15:26:00) [6]аха, понял большое спасибо Вам .....
Digitman (2002-12-06 15:23:00) [7]
> программируя на Делфи
Причем здесь Делфи ?
> скока я могу сделать, это зависит от машинки, или от чего
> ещё?
Теоретически - до 2^32 - 1. ОС ведет сч-ки потоков каждого процесса в полях типа ULONG
I>
> сколько можно держать одновременно сетевых соединений, через
> TServerSockets
Теоретически - Min(MAX_LONG, MAX_SOCKETS)
Anatoly Podgoretsky (2002-12-06 15:16:00) [8]Mad_Ghost © (06.12.02 15:12)
Количество также системой ограничено, где то в реестре прописано, поэтому может быть разное
Mad_Ghost (2002-12-06 15:12:00) [9]на счет потоков понятно, спасибо, а вот ещё на счет сетевых подключений? по TCP, например клиент присоединился передал че нужно и сразу удаляется, или можно например, установить соединение и висеть немеряно долго, и например 1000 соединений, такое возможно?
Romkin (2002-12-06 15:04:00) [10]Насчет потоков - не считал, но оооочень много, и это от системы зависит :-))
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 дохнет быстро