精选优质文档-倾情为你奉上理发师问题的java语言模拟对于操作系统经典的理发师问题,给出一种基于java代码的解决方案。一、问题分析:我们首先需要考虑以下的情况:1.没有顾客时:理发师休息2.顾客到来但理发师在睡觉时:唤醒理发师3.顾客到来理发师在理发:有空椅子,坐上去等待;没有空椅子,离开,过一会儿再回来二、代码情况说明:设计类 Cust 实现接口Runnable,用来表示编号为index的顾客的执行情况。类Barbershop中包含主函数,使用方法isEmpty();isBusy();isFull();分别用来检验是否有顾客,理发师的状态,是否有空椅子;使用全局变量sleep来表示理发师是否在睡觉。主函数中使用for循环new Thread(new Cust(b, i).start();开始一个进程的执行申请,在haircut()方法之中进行以上三种情况的判断与处理。测试时只需运行BarberShop根据提示输入对应的顾客和椅子数量即可三、具体代码:import java.util.Scanner;i