programmation C - C - Programmation
Marsh Posté le 28-08-2008 à 18:26:17
man semop
man semctl
(si tu n'es pas sur un unix quelconque, tu peux taper man <fonction C> sous Google ça fonctionne aussi)
Et la fonction P() étant dans une boucle for(;; ) qui se répète toujours 10x, elle sera exécutée 10x.
Marsh Posté le 28-08-2008 à 18:23:18
1 #include<sys/types.h>
2 #include<sys/ipc.h>
3 #include<sys/sem.h>
4 void P(int semid)
5 {struct sembuf op;
6 op.sem_num=0;
7 op.sem_op= -1;
8 op.sem_flg=0;
9 semop( semid,&op,1);
10 }
11 void init_sem(int semid,int*valeur);
12 {semctl(semid,1,SETALL,valeur);
13 }
14 int main()
15 {int i,semid;
16 int val0[]={4};
17 semid=semget(12,1,IPC_CREAT|0666);
18 init_sem(semid),val0);
19 for(i=1;i<10;i++){
20 printf("processus A - opération P\n" );
21 P(semid);}
22 }
j'aimerai savoir
Que permettent de réaliser les lignes 9 et 12?
Combien de fois l'operation P va t elle s'effectuer?