Je ne suis pas sur que ça ralentisse tant que ça : bien que, moi aussi, je n´ai pas ouvert des milliers de sockets d´un coup encore ( un jour j´essaierai)
Bon, si tu ouvres autant de socket que de clients, l´idéal est de faire autant de threads différents, indépendants.
Tu vas me dire : oula ! mais ça ralenti tout ça ?
Et la je répondrais non, car les threads, 99% du temps ( meme +) seront en attente dans le read.
Et il faut savoir qu´un read ne bloque pas le CPU, s´il n´y a rien, il reschedule.