Die maximale Threadanzahl (pro Prozess) ist nicht vom physikalischen Speicher abhängig sondern vom virtuellen Adressraum. Ein Thread belegt den Speichern nicht wirklich, sondern er belegt nur den Adressraum. Erst wenn der Stack tatsächlich benutzt wird, wird physikalischer Speicher verwendet. Siehe dazu auch:
http://msdn.microsoft.com/en-us/libr...74(VS.85).aspx
http://blogs.technet.com/b/markrussi...8/3261309.aspx
Ich habe beim Linker die Max. Stackgröße gegenüber dem Standardwert halbiert ($80000) und bekomme dann mit dem Testprogramm von
Win32 doppelt soviele Verbindungen (rund 4000).
Wenn ich die Max Stackgröße auf 65536 heruntersetzt, steigt die Anzahl der Verbindungen unter XP nicht weiter an, weil XP anscheinend nur die Ports 1025..5000 (=>3976 mögliche Verbindungen) belegt. Bei W7-64 werden nach meinen aktuellen Untersuchungen die Ports 49155..65535 belegt. Hier bekomme ich dann 6019 gleichzeitige Verbindungen.
D.h. abweichend von meiner ersten Antwort, ist mein jetziger Kenntnisstand: Die maximale Anzahl der gleichzeitigen Serververbindungen ist durch die maximale Anzahl der gleichzeitigen Threads und die Anzahl der belegbaren Ports begrenzt.