91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

JAVA管程解決哲學家問題,直觀的的,多線程

資源截圖

代碼片段和文件信息


import?java.awt.GridLayout;
import?java.awt.Menu;
import?java.awt.MenuBar;
import?java.awt.MenuItem;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;

import?javax.swing.*;

class?Monitor{
public?int?philStates[]=new?int[5];????????????//0=thinking1=hungry2=eating
public?boolean?chopsticks[]=new?boolean[5];???//true=usefalse=free
public?deadlock?dp;???????????????????????????//used?to?change?the?icon
public?Monitor(deadlock?dp){
this.dp=dp;
int?i;
for(i=0;i<5;i++){
philStates[i]=0;
chopsticks[i]=false;
}
}
public?synchronized?void?pickupL(int?i){
while(chopsticks[i]){
try{wait();}catch(InterruptedException?e){}
}
chopsticks[i]=true;
philStates[i]=1;
dp.jl[i].setIcon(dp.pic[philStates[i]]);
dp.jl[i].setText(“I?am?hungry..“);
}
public?synchronized?void?pickupR(int?i){
while(chopsticks[(i+1)%5]){
try{wait();}catch(InterruptedException?e){}
}
chopsticks[(i+1)%5]=true;
philStates[i]=2;
dp.jl[i].setIcon(dp.pic[philStates[i]]);
dp.jl[i].setText(“eating?now..“);
}
public?synchronized?void?putdown(int?i){
chopsticks[i]=false;
chopsticks[(i+1)%5]=false;
philStates[i]=0;
dp.jl[i].setIcon(dp.pic[philStates[i]]);
dp.jl[i].setText(“thinking...“);
notify();
}
}
public?class?deadlock?extends?Jframe{
/*for?conveniencethe?member?varables?are?declared?public*/
public?JLabel?jl[]=new?JLabel[5];
public?String[]?name={“philosopher1““philosopher2““philosopher3““philosopher4““philosopher5“};
public?ImageIcon?pic[]=new?ImageIcon[3];
public?Monitor?m;
public?philosopher?phil[];
public?deadlock(){
super(“Diner?Philosopher?Homework“);
/*init?the?image?resource*/
pic[0]=new?ImageIcon(getClass().getResource(“images/think.jpg“));
pic[1]=new?ImageIcon(getClass().getResource(“images/hungry.jpg“));
pic[2]=new?ImageIcon(getClass().getResource(“images/eat.jpg“));
/*init?the?philosophers?status*/
for(int?i=0;i<5;i++){
jl[i]=new?JLabel(name[i]pic[0]JLabel.CENTER);
jl[i].setVerticalTextPosition(JLabel.BOTTOM);
jl[i].setHorizontalTextPosition(JLabel.CENTER);
}
/*init?the?window?size?and?location*/
setSize(600?500);
setLocationRelativeTo(null);
setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);

m=new?Monitor(this);
phil=new?philosopher[5];
for(int?i=0;i<5;i++)phil[i]=new?philosopher(im);
/*add?some?menus*/
MenuBar?mb=new?MenuBar();
Menu?menu1=new?Menu(“Start/Stop“);
MenuItem?mi1=new?MenuItem(“Stop“);
mi1.addActionListener(new?ActionListener(){
public?void?actionPerformed(ActionEvent?e){
for(int?i=0;i<5;i++)deadlock.this.phil[i].interrupt();
}
});
MenuItem?mi2=new?MenuItem(“Start“);
mi2.addActionListener(new?ActionListener(){
public?void?actionPerformed(ActionEvent?e){
for(int?i=0;i<5;i++)deadlock.this.phil[i].start();
}
});
MenuItem?mi3=new?MenuItem(“Exit“);
mi3.addActionListener(new?ActionListener(){
public?void?actionPerformed(ActionEvent?e){
System.exit(0);
}
});
menu1.add(

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2011-12-01?14:55??philosopher\
?????文件??????915372??2011-12-01?14:52??philosopher\philosopher.pdf
?????目錄???????????0??2011-12-01?17:47??philosopher\src\
?????文件????????4536??2011-11-29?19:04??philosopher\src\deadlock.java
?????文件?????????635??2011-12-01?17:47??philosopher\src\DinersPhilosopher$1.class
?????文件?????????631??2011-12-01?17:47??philosopher\src\DinersPhilosopher$2.class
?????文件?????????556??2011-12-01?17:47??philosopher\src\DinersPhilosopher$3.class
?????文件?????????695??2011-12-01?17:47??philosopher\src\DinersPhilosopher$4.class
?????文件????????3005??2011-12-01?17:47??philosopher\src\DinersPhilosopher.class
?????文件????????4355??2011-11-29?19:04??philosopher\src\DinersPhilosopher.java
?????目錄???????????0??2011-11-29?19:04??philosopher\src\images\
?????文件????????2317??2011-11-29?19:04??philosopher\src\images\desktop.jpg
?????文件???????12584??2011-11-29?19:04??philosopher\src\images\eat.jpg
?????文件???????12871??2011-11-29?19:04??philosopher\src\images\hungry.jpg
?????文件???????13396??2011-11-29?19:04??philosopher\src\images\think.jpg
?????文件????????1214??2011-12-01?17:47??philosopher\src\Monitor.class
?????文件?????????652??2011-12-01?17:47??philosopher\src\philosopher.class

評論

共有 條評論