Question: What if we want to do a unbounded buffer, where there is no upper limit on the buffer size, but you just have to make

What if we want to do a unbounded buffer, where there is no upper limit on the buffer size, but you just have to make sure that the consumers cannot underflow the buffer (i.e., cannot consume when the buffer is empty). Write the code for this bounded buffer. Use a C++ STL queue for the underlying data structure [Reader-Writer problem] Let us say there is a shared file or a database resource, where there can be many readers and 1 writer. All the reads can happen simultaneously without problem. But when the writer is working, there cannot be any read operations. Similarly, if there is even 1 read operation going on, you cannot let the writer thread go. Write a pseudocode using semaphores. Remember that the lock and unlock functions for semaphores are P() and V(), respectively 4. 5. What if we want to do a unbounded buffer, where there is no upper limit on the buffer size, but you just have to make sure that the consumers cannot underflow the buffer (i.e., cannot consume when the buffer is empty). Write the code for this bounded buffer. Use a C++ STL queue for the underlying data structure [Reader-Writer problem] Let us say there is a shared file or a database resource, where there can be many readers and 1 writer. All the reads can happen simultaneously without problem. But when the writer is working, there cannot be any read operations. Similarly, if there is even 1 read operation going on, you cannot let the writer thread go. Write a pseudocode using semaphores. Remember that the lock and unlock functions for semaphores are P() and V(), respectively 4. 5
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
