• 大小: 14KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-27
  • 语言: Java
  • 标签:

资源简介

用java来实现银行家算法和随机分配算法 采用多线程机制 采用配置文件 采用swing,图形界面方式 可以说是史上最强大的银行家算法

资源截图

代码片段和文件信息

package lvkai;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.Properties;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.Jframe;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class Main extends Jframe {

Thread[] t;
private static final long serialVersionUID = 1L;
public static int sourceCount; // 定义系统的资源数
public static int processCount; // 定义系统的进程数目
static int[] available; // 定义系统可提供的资源数组
static Process[] processes; // 定义系统的进程
private boolean start = false; // 当start=true时,程序开始运行
public static boolean safe = false; // 定义是否用银行家算法,false表示不使用,true表示使用银行家算法
static JTextArea jta = new JTextArea(10 10);
JComboBox box = null;

public Main() {
this.settitle(“银行家算法与随机分配算法“);
this.setSize(600 400);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
JButton button1 = new JButton(“运行“);
JButton button2 = new JButton(“停止进程运行“);
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setStart(true);
jta.setText(“程序开始执行o(∩_∩)o...哈哈\n“);
if(0 == box.getSelectedIndex()){
safe = true;
} else{
safe = false;
}
}
});

button2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
stopThread();
}

});
String[] s = {“银行家算法“ “随机分配算法“};
box = new JComboBox(s);
panel.add(box);

panel.add(button1);
panel.add(button2);
jta.setText(“程序的运行结果就显示在这里....“);
JScrollPane sp=new JScrollPane(jta);
Container c = this.getContentPane();
c.add(panel BorderLayout.NORTH);
c.add(sp BorderLayout.CENTER);
this.setVisible(true);
}

// 对字符串进程处理的函数
private String trimTheBothSize(String string) {
string = string.substring(1 string.length() - 1);
return string;
}

/**
 * 系统进程初始化
 */
public void init() {
 

// 定义读取配置文件的变量
Properties prop = new Properties();
try {
prop.load(this.getClass().getClassLoader().getResourceAsStream(
“config/config2.properties“));
} catch (IOException e) {
e.printStackTrace();
}
// 初始化processCount和processCount
sourceCount = Integer.parseInt(prop.getProperty(“source“));
processCount = Integer.parseInt(prop.getProperty(“process“));
// 定义processCount个进程,放在进程数组中
processes = new Process[processCount];
for (int i = 0; i < processCount; i++) {
processes[i] = new Process();
processes[i].id = i;
}
// 初始化available,系统可提供的资源向量
available = new int[sourceCount];
String[] allocationString = (prop.getProperty(“available“).substring(1
prop.getProperty(“available“).length() - 1)).split(““);
for (int i = 0; i < sourceCount; i++) {
available[i] = Integer.parseInt(al

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        390  2009-04-12 16:34  OSCourseDesign\.project

     文件        232  2009-04-12 16:34  OSCourseDesign\.classpath

     文件        263  2009-04-16 17:38  OSCourseDesign\bin\config\config.properties

     文件        239  2009-04-17 17:32  OSCourseDesign\bin\config\config2.properties

     文件       5880  2009-04-18 11:21  OSCourseDesign\bin\lvkai\Main.class

     文件       6691  2009-04-18 10:28  OSCourseDesign\bin\lvkai\Process.class

     文件        620  2009-04-18 11:21  OSCourseDesign\bin\lvkai\Main$2.class

     文件        959  2009-04-18 11:21  OSCourseDesign\bin\lvkai\Main$1.class

     文件        263  2009-04-16 17:38  OSCourseDesign\src\config\config.properties

     文件        239  2009-04-17 17:32  OSCourseDesign\src\config\config2.properties

     文件       5683  2009-04-18 11:21  OSCourseDesign\src\lvkai\Main.java

     文件       8927  2009-04-18 10:28  OSCourseDesign\src\lvkai\Process.java

     目录          0  2009-04-18 11:24  OSCourseDesign\bin\config

     目录          0  2009-04-18 11:24  OSCourseDesign\bin\lvkai

     目录          0  2009-04-18 11:24  OSCourseDesign\src\config

     目录          0  2009-04-18 11:24  OSCourseDesign\src\lvkai

     目录          0  2009-04-18 11:24  OSCourseDesign\bin

     目录          0  2009-04-18 11:24  OSCourseDesign\src

     目录          0  2009-04-18 11:24  OSCourseDesign

----------- ---------  ---------- -----  ----

                30386                    19


评论

共有 条评论