philosopher.java
来自「英国帝国理工学院电脑系多线程课程教学材料之八 ---- 哲学家晚餐范例」· Java 代码 · 共 39 行
JAVA
39 行
package concurrency.diners;import java.awt.*;class Philosopher extends Thread { private int identity; private PhilCanvas view; private Diners controller; private Fork left; private Fork right; Philosopher(Diners ctr, int id, Fork l, Fork r) { controller = ctr; view = ctr.display; identity = id; left = l; right = r; } public void run() { try { while (true) { //thinking view.setPhil(identity,view.THINKING); sleep(controller.sleepTime()); //hungry view.setPhil(identity,view.HUNGRY); right.get(); //gotright chopstick view.setPhil(identity,view.GOTRIGHT); sleep(500); left.get(); //eating view.setPhil(identity,view.EATING); sleep(controller.eatTime()); right.put(); left.put(); } } catch (java.lang.InterruptedException e) {} }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?