// Producer/Consumer: // Synchronisation: gemeinsamen Puffer Buffer buffer = ....; // Operationen: push/pull Semaphore num = 0; Semaphore bufferAccess = 1; // Producer: while (true) { prod = produce(); P(bufferAccess); push(prod, buffer); V(bufferAccess); V(num); } // Consumer: while (true) { P(num); P(bufferAccess); prod = pull(buffer); V(bufferAccess); consume(prod); }