A seguir: Jantar dos Filósofos com Acima: Sincronização com Memória Compartilhada Anterior: Exclusão Mútua com Semáforos
class Buffer{
int p=0, c=0;
Semaphre cheios = new Semaphore(0);
Semaphore vazios = new Semaphore(MAX);
public void put(char x) {
P(vazios);
buf[p] = x;
p = (p + 1) % MAX;
V(cheios);
}
public char get() {
P(cheios);
char x = Buf[c];
c := (c + 1) MOD (MAX + 1);
V(vazios);
return x;
}}