P/C: unbounded buffer
nThe
producer is free to add an item into the buffer at any time: it performs wait(S) before appending
and signal(S) afterwards to prevent
customer access
nIt
also performs signal(N) after each append to increment N
nThe consumer must first do wait(N) to see if there is an
item to consume and use wait(S)/signal(S) to access the buffer