L'appel système clone() de Linux peut créer aussi bien des processus lourds (équivalent du fork()) ou des LWP (Light-Weight Processes) suivant les options. Les threads sont implémentés via clone(), et chaque thread est donc un LWP différent. Il s'agit de processus différents partageant le même espace d'adressage.
Il n'y aucune lourdeur là-dedans, et on bénéficie de la puissance de l'ordonanceur du noyau "gratuitement". Le seul unique problème est qu'un processus créant 10 LWP aura potentiellement accès au CPU 10x plus souvent qu'un processus de même priorité et ne créant aucun LWP, mais on peut toujours contourner ça via nice().
[^] # Re: Autres applis et pthreads
Posté par Gaël Le Mignot . En réponse à la dépêche performances MySQL sous OpenBSD. Évalué à 10.
Il n'y aucune lourdeur là-dedans, et on bénéficie de la puissance de l'ordonanceur du noyau "gratuitement". Le seul unique problème est qu'un processus créant 10 LWP aura potentiellement accès au CPU 10x plus souvent qu'un processus de même priorité et ne créant aucun LWP, mais on peut toujours contourner ça via nice().