Alors tout d'abord c'est le père qui commence à imprimer son message de pids. Ensuite il attend patiemment l'exécution de son fils. Le fils lui imprime son message de pid. Ensuite il imprime ses randoms avec la fonction "work" qu'il a créé. Après le fils return 0 (càd qu'il a fini son exécution). C'est de retour le tour du père. Maintenant il exécute ses rands à lui avec la fonction "work". Enfin le père return 0 pour finir son processus à lui. Et du coup tout est fini.
@@foudilbenouci482 comment ça une boucle ? S'il s'agit de passer de l'enfant au père, c'est le fork qui s'en occupe en fait. Le fork renvoit un 0 si on est chez l'enfant et renvoit le pid de l'enfant si on est chez le père. Le switch s'active pour tout les processus à partir du fork. En gros le père a la priorité lorsqu'il commence à partir du fork, et ensuite vient le tour du fils si jamais il y a un wait ou si le père a fini. S'il s'agit de la répétition des rands ça c'est dû à la fonction work. Le fork fonctionne comme une sorte de diviseur de processus, c'est pas qu'il y a une boucle, mais plutôt on divise les processus et on fait la suite le nombre de fois divisé. Exemple : fork(); printf("Bla "); return 0; ce qu'il se passe c'est que d'abord le père imprime bla et ensuite c'est le tour du fils d'imprimer bla.
Merci à vous
Merci à toi
et la suite svp :'(
je ne comprends rien à l'ordre d'exécution des instructions
Alors tout d'abord c'est le père qui commence à imprimer son message de pids.
Ensuite il attend patiemment l'exécution de son fils.
Le fils lui imprime son message de pid.
Ensuite il imprime ses randoms avec la fonction "work" qu'il a créé.
Après le fils return 0 (càd qu'il a fini son exécution).
C'est de retour le tour du père.
Maintenant il exécute ses rands à lui avec la fonction "work".
Enfin le père return 0 pour finir son processus à lui.
Et du coup tout est fini.
@@sebastianrebiere9017 je ne vois pas de boucle sur le switch
@@foudilbenouci482 comment ça une boucle ?
S'il s'agit de passer de l'enfant au père, c'est le fork qui s'en occupe en fait. Le fork renvoit un 0 si on est chez l'enfant et renvoit le pid de l'enfant si on est chez le père.
Le switch s'active pour tout les processus à partir du fork. En gros le père a la priorité lorsqu'il commence à partir du fork, et ensuite vient le tour du fils si jamais il y a un wait ou si le père a fini.
S'il s'agit de la répétition des rands ça c'est dû à la fonction work.
Le fork fonctionne comme une sorte de diviseur de processus, c'est pas qu'il y a une boucle, mais plutôt on divise les processus et on fait la suite le nombre de fois divisé.
Exemple :
fork();
printf("Bla
");
return 0;
ce qu'il se passe c'est que d'abord le père imprime bla et ensuite c'est le tour du fils d'imprimer bla.