example19_10.java
来自「线程小程序(售票员卖票)」· Java 代码 · 共 48 行
JAVA
48 行
import java.applet.*;import java.awt.*;import java.awt.event.*;class 售票员{int 五元钱的个数=2,十元钱的个数=0,二十元钱的个数=0; String s=null; public synchronized void 售票规则(int money) { if(money==5) //如果使用该方法的线程传递的参数是5,就不用等待。 { 五元钱的个数=五元钱的个数+1; s= "给您入场卷"+" 您的钱正好"; Example19_10.text.append("\n"+s); } else if(money==20) { while(五元钱的个数<3) { try {wait();} //如果使用该方法的线程传递的参数是20须等待。 catch(InterruptedException e){} } 五元钱的个数=五元钱的个数-3; 二十元钱的个数=二十元钱的个数+1; s="给您入场卷"+" 您给我20,找您15元"; Example19_10.text.append("\n"+s); } notifyAll(); } }public class tong extends Applet implements Runnable{ 售票员 王小姐; Thread 张平,李明; //创建两个线程。 static TextArea text; public void init() {张平=new Thread(this);李明=new Thread(this); text=new TextArea(10,30);add(text); 王小姐=new 售票员(); } public void start() {张平.start();李明.start(); } public void run() { if(Thread.currentThread()==张平) {王小姐.售票规则(20); } else if(Thread.currentThread()==李明) {王小姐.售票规则(5); } } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?