Question
Problem: Write a concurrent C++ program that solves the Barbershop Problem from The Little Book of Semaphores (LBS). The description for the problem can be
Problem: Write a concurrent C++ program that solves the Barbershop Problem from The Little Book of Semaphores (LBS). The description for the problem can be found on page 127.
'
'
A barbershop consists of a waiting room with n chairs, and the barber room containing the barber chair. If there are no customers to be served, the barber goes to sleep. If a customer enters the barbershop and all chairs are occupied, then the customer leaves the shop. If the barber is busy, but chairs are available, then the customer sits in one of the free chairs. If the barber is asleep, the customer wakes up the barber. Write a program to coordinate the barber and the customers.
To make the problem a little more concrete, I added the following informa- tion:
Customer threads should invoke a function named getHairCut.
If a customer thread arrives when the shop is full, it can invoke balk,
which does not return.
The barber thread should invoke cutHair.
When the barber invokes cutHair there should be exactly one thread invoking getHairCut concurrently.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started