哲学家进餐.java

来自「利用JAVA实现了多线程编程,解决哲学家就餐问题」· Java 代码 · 共 33 行

JAVA
33
字号
package ChopStick
Class ChopStick extends Thread{
   boolean available;
   ChopStick(){available=true;}
public synchronized void takeup(){//取走筷子,准备进餐
   while (! available){
  try{
    System.out.println(" 等待");
   wait();
     }catch (Interrupted (Exception 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].star();
  }
 }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?