Je m'interroge sur la "punition" qui se produit lorsqu'un nouveau fil est créé.
D'après ma compréhension de clone (2), NPTL (nouvelle bibliothèque de threads POSIX) et CFS (planificateur parfaitement équitable), lorsqu'un nouveau thread est créé, il est considéré comme un nouveau processus car NPTL utilise un modèle de thread 1: 1.
D'après ce que j'ai lu sur le planificateur, lorsqu'un nouveau processus est ajouté à la file d'attente d'exécution, la fair_clock
variable augmente jusqu'à une fraction de l'horloge murale.
En parcourant les rituels avec pthread_create (3), le clone est appelé comme il le ferait dans un fork (2).
Maintenant, un processus aura un modèle 1: 1 et donc les threads. Ainsi, un fil subit-il également le même sort ? De toute évidence, un thread doit être puni sous une forme quelconque, sinon un processus à plusieurs threads peut accaparer la plus grande partie du temps CPU en remplissant le système RR (round robin) utilisé par CFS.
Si cela est vrai, quels sont les avantages d'utiliser des threads sur des fourches? S'agit-il uniquement de l'espace de partage partagé automatique (par opposition à l'utilisation de shm_open (2))?