}
}
}
}
买票人:
Java代码
package com.thread;
import java.util.Timer;
public class BuyTicket extends Thread{
//售票机
private TicketMachine machine;
//购票数
private int count;
//买票钱
private float money;
//姓名
//private String name;
public BuyTicket(){
}
public BuyTicket(TicketMachine machine, int count, float money,String name) {
super(name);
this.machine = machine;
this.count = count;
this.money = money;
//this.name = name;
System.out.println(name+":帮我买"+count+"张票");
}
public void run() {
machine.saleTicket(count, money);
}
}
对于那些找零机器里没钱找的找零线程代码:
Java代码
package com.thread;
public class ChangeTask extends Thread {
private TicketMachine machine;
private final float result;
public ChangeTask(TicketMachine machine,float result){
this.machine=machine;
this.result=result;
}
@Override
public void run() {
//System.out.println("找零任务线程运行了。。。");
while(true){
synchronized (machine) {
if(machine.change(result)){
machine.notifyAll();
//System.out.println("已经通知了");
break;
}
}
}
}
}
测试代码了:
Java代码
package com.thread;
public class Test {
public static void main(String[] args) {
TicketMachine machine=new TicketMachine();
BuyTicket buy1=new BuyTicket(machine,1,5.0F,"张三");
BuyTicket buy2=new BuyTicket(machine,3,15.0F,"李四");
BuyTicket buy3=new BuyTicket(machine,5,33.0F,"王五");
BuyTicket buy4=new BuyTicket(machine,6,50.0F,"赵六");
buy1.start();
buy2.start();
buy3.start();
buy4.start();
}
}
作者“l555iu”