25 votes

Chaque thread a-t-il sa propre pile ?

Lorsque je crée plusieurs threads à partir d'un processus, chaque thread a-t-il sa propre pile ou partage-t-il la pile de son processus parent ? Que se passe-t-il lorsqu'un thread effectue un appel système ? Les threads conservent-ils également leur propre pile de noyau comme les processus ?

19voto

Joohwan Points 1272

Oui, les threads ont leurs propres piles et leurs propres piles de noyau (par exemple, Linux).

Lorsqu'un thread effectue un appel système, vous passez en mode noyau (à partir du mode utilisateur), vous passez les arguments au noyau, les arguments sont vérifiés, le noyau fait ce qu'il doit faire (dans la pile du noyau), renvoie la valeur finale au thread et vous revenez en mode utilisateur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X