A seguir: Produtor/Consumidor em Java Acima: Liberação do Processador Anterior: Camas
char B[10];
int p = 0, c = 0, n = 0;
key mutex ;
bed b ;
void Put(char x) {
lock(mutex);
while (n
10) {wait(b,mutex)}
/* espera por uma posição vazia */
B[p] = x; p = (p+1) % 10; n++;
wakeup(b,mutex);
unlock(mutex);
}
void Get(char *x) {
lock(mutex);
while (n
0) { wait(b,mutex) }
/* espera por uma posição cheia */
*x = B[c]; c = (c+1) % 10; n-;
wakeup(b,mutex) ;
unlock(mutex);
}