Voici quelque chose
Après une fourchette(), il est indéterminée quel processus -le parent ou le enfant-next a accès au CPU.
Les applications qui reposent implicitement ou explicitement sur une séquence particulière d'exécution afin d'obtenir des résultats corrects sont ouverts à échec en raison de conditions course.
Il continue à pointer différents comportements dans différents noyaux. L'essentiel est que c'est défini par la mise en œuvre et ne doit pas être invoqué.
Aussi, si vous ne veulent compter sur elle, sous Linux depuis le 2.6.32 « il y a un sysctl
pour que »
kernel.sched_child_runs_first
Vive
Merci pour votre réponse. Au niveau du sheduler, ces deux processus ne peuvent pas avoir l'état Running, donc l'un est en cours d'exécution, l'autre est prêt? – lilawood
Cela dépend de ce que fait le processus. Mais en effet, si votre processeur exécute un seul processus à la fois, l'autre ne peut pas fonctionner aussi bien (ce qui signifie que c'est autre chose que l'état Prêt) –
Logiquement et théoriquement, le processus enfant est en cours d'exécution et le parent est prêt (en attente pour la fin de l'enfant de devenir en cours d'exécution)? Merci ! – lilawood