📄 example19_8.java
字号:
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_8.text.append("\n"+s);
}
else if(money==20)
{ while(五元钱的个数<3)
{ try { wait(); //如果使用该方法的线程传递的参数是20须等待。
}
catch(InterruptedException e){}
}
五元钱的个数=五元钱的个数-3;
二十元钱的个数=二十元钱的个数+1;
s="给您入场卷"+" 您给我20,找您15元";
Example19_8.text.append("\n"+s);
}
notifyAll();
}
}
public class Example19_8 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -