chopsticktest.java
来自「java经典10例子」· Java 代码 · 共 36 行
JAVA
36 行
class ChopStick extends Thread{
boolean available;
ChopStick() { available=true; }
public synchronized void takeup() {//取走筷子准备就餐
while(!available) {
try {
System.out.println("哲学家等待筷子");
wait();
}catch(InterruptedException e) { }
}
available=false;
System.out.println("哲学家状态:就餐");
}
public synchronized void putdown() {//哲学家就餐后放下筷子
available=true;
System.out.println("哲学家状态:思考");
notify();
}
public void run(){
takeup();
putdown();
}
}
public class ChopStickTest{
private static ChopStick phi[] = new ChopStick[5];
public static void main(String args[]){
for(int i=0;i<5;i++){
phi[i]=new ChopStick();
phi[i].start();
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?