// Producer/Consumer-Problem mit unbeschränktem Puffer Buffer buffer = ...; Semaphore num=0; // Elemente im Puffer Semaphore bufferAccess = 1; Producer: while (true) { product = produce(...); P(bufferAccess); push(product, buffer); // kritischer Bereich! V(bufferAccess); V(num); } Consumer: while (true) { P(num); P(bufferAccess); prod = pop(buffer); // kritischer Bereich! V(bufferAccess); consumer(prod); }