De nombreux linux/unix programmation des livres et des tutoriels parler du "Tonnerre Troupeau Problème" qui se produit lorsque plusieurs threads ou les fourches sont bloqués sur un select() de l'appel en attente pour des raisons de lisibilité d'un socket d'écoute. Lorsque la connexion arrive, tous les threads et les fourches sont réveillés, mais seulement un "gagne" avec un appel réussi à "accept()". Dans l'intervalle, beaucoup de temps cpu est gaspillée se réveiller tous les threads/fourche pour aucune raison.
J'ai remarqué un projet qui fournit une "solution" à ce problème dans le noyau linux, mais c'est un très vieux patch.
Je pense qu'il y a deux variantes; l'Une où chaque fourche (select) et puis accept(), et celle qui vient de n'accepter().
Faire moderne unix/linux kernels ont encore le Tonnerre Troupeau Problème dans ces deux cas, ou seulement le "select() puis accept()" version?