资源简介
操作系统期末大作业,用java语言解决理发师问题,而且还是有界面的,里面有源代码

代码片段和文件信息
package ymm.barber;
import ymm.barber.Barbershop;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class Barber implements Runnable{
Barbershop bs;
Window win;
JTextArea textArea;
int count;
JTextField chair1chair2chair3;
public Barber (Barbershop bsint iWindow window) {
win = window;
this.textArea = win.textArea;
this.chair1 = win.chair1;
this.chair2 = win.chair2;
this.chair3 = win.chair3;
this.bs = bs;
count = i;
}
public void run() {
Barbershop.customers++;
textArea.append( “The customer“+count+“ is coming!\r\n“);
if (count == 1)
textArea.append(“The customer1 wakes the barber up!\r\n“);
if (bs.isFull()){
Barbershop.customers--;
JOptionPane.showMessageDialog(win.frmBarbershop “Sorry! No empty seats!“ “信息“ JOptionPane.INFORMATION_MESSAGE);
textArea.append(“The customer“+count+“ leaves\r\n“);
}else {
if (Barbershop.barber == 1)
{
textArea.append(“The customer“+count+“ is waiting for the barber!\r\n“);
if (chair1.getText().length()<1)
chair1.setText(“customer“+count);
else if(chair2.getText().length()<1)
chair2.setText(“customer“+count);
else
chair3.setText(“customer“+count);
}
try {
Barbershop.mutex.acquire();
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
synchronized (this) {
while (Barbershop.barber == 1)
try {
wait();
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
if (Barbershop.customers == 1)
textArea.append(“Only customer“+count+“ is in the barbershop and the barber is awake!\r\n“);
Barbershop.barber = 1;
textArea.append(“The customer“+count+“ is having his hair cut!\r\n“);
textArea.append(“Please wait for fifteen minutes!\r\n“);
try {
Thread.sleep(3000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
textArea.append(“The customer“+count+“ has his hair cut and leaves\r\n“);
Barbershop.customers--;
chair1.setText(““);
chair1.setText(chair2.getText());
chair2.setText(chair3.getText());
chair3.setText(““);
Barbershop.mutex.release();
synchronized(this) {
Barbershop.barber = 0;
notify();
}
if (Barbershop.customers == 0) {
textArea.append(“There is no customer and the barber start to sleep!\r\n“);
}
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2635 2017-04-23 20:23 操作系统-理发师问题\barber shop源代码\Barber.java
文件 813 2017-04-23 20:20 操作系统-理发师问题\barber shop源代码\Barbershop.java
文件 3958 2017-04-23 22:52 操作系统-理发师问题\barber shop源代码\Window.java
文件 6743 2017-04-23 20:31 操作系统-理发师问题\BARBERSHOP.jar
文件 332 2017-04-26 18:48 操作系统-理发师问题\ReadMe.txt
目录 0 2017-04-23 18:20 操作系统-理发师问题\barber shop源代码
目录 0 2017-12-06 15:47 操作系统-理发师问题
----------- --------- ---------- ----- ----
14481 7
相关资源
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
- java Servlet投票实例
评论
共有 条评论