资源简介
仿真模拟银行家算法对死锁的避免。对于进程死锁的避免问题,分为两种状态:安全状态和非安全状态。在避免死锁的方法中,允许进程动态地申请资源分配之前,应先计算此次资源分配的安全性。若此次分配不会导致系统进入不安全状态,则将资源分配给进程;否则,令进程等待。
所谓安全状态是指系统能按某种进程顺序,来为每个进程pi分配所需的资源,直至满足每个进程对资源的最大需求,使每个进程都可顺利地完成。如果系统无法找到这样一个序列,则系统处于不安全状态。只要系统处于安全状态,系统便可避免进入死锁状态。因此避免死锁的实质在于:系统在进行资源分配时,如何使系统不进入不安全状态。银行家算法就是一种最有代表性的避免死锁的算法。

代码片段和文件信息
/*
程序的界面比较麻烦,所有的控件的添加全部放在了面板里面了,主窗口的最外面的面板是imagePanel,将panelout加在
了imagePanel的北面,将panel6加在了imagePanel的中部。在panel6里面加panel7在西部,panel8在中部。等等,
后面基本全是这么加的。由于开始的时候没有想到会用这么多的面板,所以到最后只能这么一个加一个的编号了。因此看
起来有些乱。代码大部分都在做界面,真正的处理部分在监听器接口里面。程序运行的时候,先将一张图片放在C盘根目
录下,并且将图片的名字命名为宽屏壁纸e.jpg
*/
//package PROJECT;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MyJlist extends Jframe implements ActionListener
{
private JTextField current_text=new JTextField();//添加到标签(“当前进程资源非配情况:“)之后,添加到容器panel1的中间
//保存申请资源不能满足的时候,用于恢复的数值
private String request1;
private String request2;
private String request3;
private String available1;
private String available2;
private String available3;
private String need1;
private String need2;
private String need3;
private int convert=0;//控制申请资源的进程数目只能为1
private int requestThread;//保存申请资源的进程的索引
private JList threadName_list;//显示系统中的进程的名字
private JList max_resource1_list;//显示每个进程的资源1的最大数目
private String[] max_resource1_list_num=new String[10];//存储每个进程的资源1的最大数目
private JList max_resource2_list;
private String[] max_resource2_list_num=new String[10];
private JList max_resource3_list;
private String[] max_resource3_list_num=new String[10];
private JList allocation_resource1_list;//显示进程当前占有的资源1的数目
private String[] allocation_resource1_list_num=new String[10];//存储进程当前占有的资源1的数目
private JList allocation_resource2_list;
private String[] allocation_resource2_list_num=new String[10];
private JList allocation_resource3_list;
private String[] allocation_resource3_list_num=new String[10];
private JList need_resource1_list;//显示进程当前所需要的资源1的数目
private String[] need_resource1_list_num=new String[10];//存储进程当前所需要的资源1的数目
private JList need_resource2_list;
private String[] need_resource2_list_num=new String[10];
private JList need_resource3_list;
private String[] need_resource3_list_num=new String[10];
private JList available_resource1_list;//显示当前资源1的可以使用的数目
private String[] available_resource1_list_num=new String[]{“10“};//存储当前资源1的可以使用的数目
private JList available_resource2_list;
private String[] available_resource2_list_num=new String[]{“5“};
private JList available_resource3_list;
private String[] available_resource3_list_num=new String[]{“7“};
private JTextField add_ThreadName;//填写所添加的进程的名字
private String[] name_num_add_ThreadName=new String[10];//存储添加的进程的名字
private static int num_add_ThreadName;//存储程序中添加的进程的数目
private String[] add_resource1={“0““1““2““3““4““5““6““7““8““9““10“};
private JComboBox add_resource_combobox1=new JComboBox(add_resource1);//选择添加进程的资源1的数目
private String[] add_resource2={“0““1““2““3““4““5““6““7““8““9““10“};
private JComboBox add_resource_combobox2=new JComboBox(add_resource2);
private String[] add_resource3={“0““1““2““3““4““5““6““7““8““9““10“};
private JComboBox add_resource_combobox3=new JComboBox(add_resource3);
private JB
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 82011 2010-07-25 19:48 实现银行家算法\程序代码\MyJlist.java
文件 5385728 2010-07-25 19:49 实现银行家算法\报告\报告.doc
文件 312364 2006-12-16 16:05 实现银行家算法\图片\宽屏壁纸e.jpg
文件 289733 2007-07-07 22:07 实现银行家算法\图片\河流与山坡.jpg
目录 0 2012-12-20 09:04 实现银行家算法\程序代码
目录 0 2012-12-20 09:04 实现银行家算法\报告
目录 0 2012-12-20 09:04 实现银行家算法\图片
目录 0 2012-12-20 09:04 实现银行家算法
----------- --------- ---------- ----- ----
6069836 8
- 上一篇:简单的第一人称射击游戏源码
- 下一篇:黑苹果i2c触摸驱动教程
相关资源
- 仿知乎界面小程序源代码
- 数字华容道
- SSM+Shiro+redis实现单点登陆
- jstl-api-1.2和jstl-impl-1.2
- 嵌入式图形界面MiniGUI的示例程序9例
- pb 实现仿BS界面 dw菜单 powerbuild
- 基于MVC模式的会员管理系统
- 国内一家大型软件公司内部的正规软
- 仿windows记事本
- 保险公司管理系统(前台界面)
- GUI银行管理系统
- Unity3D登录界面工程
- 超市收银系统eclipse access大学课程设计
- 模拟ATM柜员机系统--连接数据库
- WEB系统界面设计模板(很漂亮)
- 漂亮的系统登录界面
- A*算法的2D演示(带源码)
- 银行家算法_fat.jar
- 运动界面追踪问题 流体力学
- 代码审查表和代码审查实例
- 汇编编程实现二进制和十六进制之间
- 仿126 网易 163 邮箱 界面
- Tomcat6.x
- 简单的行编辑器
- 扫雷(MVC架构)
- 302 Found
- window ping命令加时间并记录日志
- .NET WinForm 和 WPF 的UI界面库,收集整合
- LabVIEW界面设计
- QT酷炫界面开发指南《QmlBook》
评论
共有 条评论