Barber Shop

This lesson visits the synchronization issues when programmatically modeling a hypothetical barber shop and how they are solved using Java's concurrency primitives.

We'll cover the following...

Problem Statement

A similar problem appears in Silberschatz and Galvin’s OS book, and variations of this problem exist in the wild. A barbershop consists of a waiting room with n chairs, and a barber chair for giving haircuts. 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 ...