Une ressource sur Linux mentionne que pthread-create est implémenté avec un appel système clone par rapport à une autre plate-forme basée sur unix (qui l'implémente d'une autre manière).
Cela signifie que sous Linux deux threads créés à partir du même processus à l'aide de pthread_create auront des identifiants de processus parents différents.Implémentation de pthread_create sous Linux
$ ./a.out
new thread: pid 6628 tid 1026 (0x402)
main thread: pid 6626 tid 1024 (0x400)
Question
- Bien que l'appel système clone crée un processus enfant qui peut partager une quantité configurable de son contexte d'exécution des parents (comme les descripteurs de fichiers et de la mémoire), il me semble que, parmi tous la mise en œuvre ce n'est peut-être pas le plus efficace. Sous Linux, pour chaque thread créé à partir de pthread_create, existe-t-il un processus correspondant (bien qu'il partage des ressources avec d'autres processus)? Cette interprétation est-elle correcte?