Bonjour,
Me voici confronté a un problème de thread...
J'ai fait un petit serveur a partir des composants TServerClientWinsocket.
Ce serveur de fonctionnais plutot pas mal jusqu'au jour ou je me suis retrouvé avec plus de 2000 connectés.
On dirais qu'il n'est pas possible de creer plus de 2000 threads![]()
En effet je créé un thread pour chacun des connectés.![]()
J'ai pas forcément choisi la bonne solution a ce moment la mais je n'imaginais pas dépasser les 500 connectés simultanément.
Voici donc mes questions :
Comment depasser cette limite de 2000 threads ? (je ne sais pas par quoi ni comment elle est fixée)
D'autre par j'utilise les directives suivantes :
{$A+,B-,C+,D+,E-,F-,G+,H+,I+,J+,K-,L+,M-,N+,O-,P+,Q+,R+,S-,T-,U-,V+,W+,X+,Y+,Z1}
{$MINSTACKSIZE $00004000}
{$MAXSTACKSIZE $00100000}
{$IMAGEBASE $00400000}
{$APPTYPE GUI}
Il semblerais que quand je joues avec ces valeurs le nombre de threads maximum pouvant etre créé change (le hic c'est que je depasse jamais 2000)
Dans l'idéal je souhaiterais repousser la limite des threads a l'espace mémoire de ma machine. Au pire j'aimerais bien repousser cette limite au moins a 5000 voir 10 000.
Merci de votre aide qui me sortira d'un mauvais pas ^^
PS : Je vous fait grace du contexte qui est un peu plus compliqué que ca...
Pool de threads et tout un tas de choses ignobles pour faire quelques calculs prédictifs...
Partager