设计一个多线程程序如下:设计一个火车售票模拟程序。
假如火车站要有100张火车票要卖出,现在有5个售票点同时售票,用5个线程模拟这5个售票点的售票情况
1、要求打印出每个售票点所卖出的票号
2、各售票点不能售出相同票号的火车票
package test1;
import java.io.*;
import java.util.*;
public class Main {
public static void main(String args[]) {
SaleTicket st = new SaleTicket();
for(int i = 1; i <= 5; i++)
{
new Thread(st, "售票点" + i).start();
}
}
}
class SaleTicket implements Runnable
{
private int total;
private int count;
public SaleTicket()
{
total = 100;
count = 0;
}
public synchronized void run()
{
while(total > 0)
{
try
{
Thread.sleep(new Random().nextInt(1000));
}
catch(Exception e)
{
e.printStackTrace();
}
count++;
total--;
System.out.println(Thread.currentThread().getName() + "\t当前票号:" + count);
}
}
}