火车售票模拟程序
【问题描述】设计一个多线程程序:火车售票模拟程序。假如火车站有10张火车票要卖出,现在有5个销售点同时售票,用5个线程模拟这5个售票点的售票情况。
【输入形式】1或2
【输出形式】
sale:10
sale:9
sale:8
sale:7
sale:6
sale:5
sale:4
sale:3
sale:2
sale:1
【样例输入】
【样例输出】
【样例说明】
【评分标准】
package demo1;
import java.util.Scanner;
class SaleThread extends Thread{
static int ticket=10;//共享数据
public SaleThread(int ticket){}
public void run(){
while (true){
synchronized("lock") {
if(ticket > 0){
try {
Thread.currentThread().sleep(100);}
catch (InterruptedException e) {
e.printStackTrace();}
System.out.println("sale:"+ticket--);
}
else
{break;
}
}
}
}
}
public class demo10{
public static void main(String[] args) {
SaleThread st = new SaleThread(10);
Scanner in=new Scanner(System.in);
int selected=in.nextInt();
switch(selected){
case 1:
System.out.println("compile pass!");
break;
case 2:
new Thread(st).start();
new Thread(st).start();
new Thread(st).start();
new Thread(st).start();
new Thread(st).start();
}
in.close();
}
}