Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
fork, langage C
Envoyé par: killwin

Bonjour,

J'ai un petit problème pour contrôler l'accès à une mémoire partage par deux processus qui vérouillent ou déverouillent par un jeu de sémaphores.

Bon, alors je ne comprends pas pourquoi le processus 1 fait la première moitié du travail, puis le processus 2 fait la seconde. Moi je voulais que ce soit parallèle.

Exemple, si j'écris ça pour simplifier :

Bha il m'affiche d'abord les AAAAAAAA, puis les BBBBBBB
Pourquoi ? Merci d'avance

pid = fork();

if(pid == -1) {
perror("impossible de creer le processus fils");
exit(-1);
}
if(pid) {
for(i = 0; i < 200; i++) {
printf("A");
fflush(stdout);
}
}
else {
for(i = 0; i < 200; i++) {
printf("B");
fflush(stdout);
}
}

Poste le Thursday 29 January 2009 15:08:02
Répondre     Citer    
Re: fork, langage C
Envoyé par: peck

C'est bien parallèle.

Seulement le parallélisme est simulé lorsque tu n'as qu'un processeur, si tes taches sont aussi courtes que printf("A") alors le temps de passer d'un processus à l'autre, tout est fini.

[linux-attitude.fr]

Poste le Friday 30 January 2009 14:56:30
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
fork, langage C
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons