资源简介
用Java写的电梯调度算法1,模拟操作系统的进程调度,图形界面

代码片段和文件信息
//import java.io.*;
import java.util.*;
public class ElevatorThread extends Thread{
int curPos = 1;
boolean direction = true; //方向, 上--true; 下----false
boolean status = false; //电梯的状态 true -----正在运行, false----等待prey.
private TubePanel tubePanel;
int threadID;
TreeSet destSet = new TreeSet();
public ElevatorThread( TubePanel p){
tubePanel = p;
start();
}
public void setThreadID( int i ){
threadID = i;
}
public synchronized void addDest( int dest ){
destSet.add(new Integer(dest));
}
public synchronized void addDestNotify( int dest ){
destSet.add(new Integer( dest ));
this.notify();
}
public void run(){
while( true){
status = false;
try{
synchronized ( this ){
wait();
}
status = true;
System.out.println(“Thread “ + threadID + “ begin to run“);
while( !destSet.isEmpty() ){
Integer integer = (Integer)destSet.first();
int dest = (integer).intValue();
System.out.println(“dest is “ + dest);
tubePanel.closeDoor();
//电梯关门 , 开始向一个目的楼层行进
while( curPos != dest ){
if( curPos < dest ){
curPos ++;
direction = true;
tubePanel.setCurFloor(curPos);
}else {
curPos --;
direction = false;
tubePanel.setCurFloor(curPos);
}
System.out.println(“Thread “ + threadID + “ now at “ + curPos );
sleep(500);
integer = (Integer)destSet.first();
dest = (integer).intValue();
}
//电梯开门, 一个目标楼层已到达
System.out.println(“Thread “ + threadID + “ arrive at “ + curPos + “ Floor“ );
destSet.remove(integer);
tubePanel.openDoor();
sleep(2000);
}
tubePanel.allUnload();
//如果所有的目的楼层都经过了, 则电梯的状态为全部卸载
status = false;
}catch( InterruptedException e){
e.printStackTrace();
}
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2010-11-04 19:55 Elevator\
目录 0 2010-11-04 19:55 Elevator\java代码与class文件\
文件 1033 2004-05-10 02:38 Elevator\java代码与class文件\CallListener.class
文件 2471 2004-05-10 02:33 Elevator\java代码与class文件\ElevatorThread.class
文件 1997 2004-05-10 02:33 Elevator\java代码与class文件\ElevatorThread.java
文件 16 2004-05-10 02:56 Elevator\java代码与class文件\run.bat
文件 1669 2004-05-10 02:42 Elevator\java代码与class文件\Scheduler.class
文件 1812 2004-05-10 02:42 Elevator\java代码与class文件\Scheduler.java
文件 1637 2004-05-10 02:38 Elevator\java代码与class文件\SView.class
文件 1591 2004-05-10 03:17 Elevator\java代码与class文件\SView.java
文件 2671 2004-05-10 02:54 Elevator\java代码与class文件\TubePanel.class
文件 2381 2004-05-10 02:54 Elevator\java代码与class文件\TubePanel.java
文件 61952 2004-05-10 03:37 Elevator\电梯调度程序演示说明.doc
相关资源
- 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投票实例
评论
共有 条评论