reworked to handle multiple barbers and so that a barber does not occupy a thread and is truly idle when there is no work to do