实现一个模拟的列车售票系统用六个窗口出售500张车票打印处每个售票窗口的出票号码和出票时间
3条回答 默认 最新
- CSDN专家-赖老师(软件之家) 2021-11-24 14:47关注
import java.util.Date; public class Ticket implements Runnable{ //车票的数量 int count=500; @Override public void run() { while(count>0) { try { /*同步:synchronized(锁),锁就是一个对象名称,通常可以直接传this * 在同步语句块中的语句,确保在同一时刻只能由一个线程执行(互斥) * */ synchronized (this) { System.out.println("窗口名称:"+Thread.currentThread().getName()+",车票编号:"+count+",销售时间:"+ new Date().toLocaleString()); count--; } Thread.sleep(10); }catch(Exception e) { e.printStackTrace(); } } } }
public class TicketTest { public static void main(String[] args) { Ticket ticket = new Ticket(); //模拟4个售票窗口 Thread t1 = new Thread(ticket,"窗口1:"); Thread t2 = new Thread(ticket,"窗口2:"); Thread t3 = new Thread(ticket,"窗口3:"); Thread t4 = new Thread(ticket,"窗口4:"); Thread t5 = new Thread(ticket,"窗口5:"); Thread t6 = new Thread(ticket,"窗口6:"); t1.start(); t2.start(); t3.start(); t4.start(); t5.start(); t6.start(); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报 编辑记录无用 1