El documento describe el problema clásico del barbero durmiente, donde un solo barbero atiende a clientes en una barbería con un número limitado de sillas. Se emplean semáforos para controlar el acceso a la silla del barbero y evitar que entren más clientes de los que pueden ser atendidos. El problema se modela mediante diagramas de flujo y se implementa en Java para resolver la condición de carrera entre los procesos de los clientes y el barbero.