Salve estraggo un pezzo di codice dal sorgente del mio prof
//generazione di scrittori e lettori
for (k=0;k<num_processi;k++) {
pid=fork();
if (pid==0) { //processo figlio
if (k==0) {
printf("sono il figlio produttore. Il mio pid %d \n",getpid());
sleep(2);
Produttore(ptr_sh,mutex);
}
else {
printf("sono il figlio consumatore. Il mio pid %d \n",getpid());
sleep(1);
Consumatore(ptr_sh,mutex);
}
_exit(0);
}
}
non mi è chiaro l' if (k==0) ... perchè il produttore viene chiamato solo per k==0?
nel caso di 3 processi si crea un solo produttore e due consumatori?