编写一个Java 多线程程序,完成三个售票窗口同时出售20张票(如下图所示);
程序分析:(1)票数要使用同一个静态值;
(2)为保证不会出现卖出同一个票数,要java多线程同步锁。
设计思路:
(1)创建一个站台类Station,继承Thread,重写run方法,在run方法里面执行售票操作!售票要使用同步锁:即有一个站台卖这张票时,其他站台要等这张票卖完!
(2)创建主方法调用类
`public class Station extends Thread{
static int ticket=20;
static Object ob=“aa”;
Station(String name){
super(name);
}
public void run(){
super.run();
while(ticket>=0){
synchronized (ob){
if(ticket>0){
System.out.println(Thread.currentThread().getName()+“卖的第”+ticket+“张票”);
ticket–;
}
else {
System.out.println(“票卖完了”);
ticket–;
}
}
try{
Thread.sleep(1000);