Je ne trouve pas l'erreur dans ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 // Processus cooperants // producteur-consommateur avec primitives sleep/wakeup int N = 100; //taille du tampon int count = 0; // variable partagee par le producteur et le consommateur void producer(void) { int item; while(true) { item = produce_item(); if (count == N) sleep; insert_item(item); // place un item dans le tampon count = count + 1; if (count == 1) wakeup(consumer) ; } } void consumer(void) { int item; while(TRUE) { if (count == 0) sleep(); item = remove_item(); // recupere un item du tampon count = count - 1; if (count == N-1) wakeup(producer); consume_item(item) } }
Partager