xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡介

仿真模擬銀行家算法對死鎖的避免。對于進程死鎖的避免問題,分為兩種狀態:安全狀態和非安全狀態。在避免死鎖的方法中,允許進程動態地申請資源分配之前,應先計算此次資源分配的安全性。若此次分配不會導致系統進入不安全狀態,則將資源分配給進程;否則,令進程等待。 所謂安全狀態是指系統能按某種進程順序,來為每個進程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


評論

共有 條評論