Advertisement

经典案例:学生时代常遇到的买票难题线程同步解决方式

阅读量:

一、案例需求

某家影院即将上映震撼巨制《回村的诱惑》,总计提供100张观影票,售票处设有三个窗口。请编写一个程序,用于模拟这一售票流程!

二、步骤分析框架构建

1、构建一个用于售票的线程类,该类需实现Runnable接口,并在类中定义一个私有成员变量:private int ticket=100;

2、在run方法内部,首先检查当前剩余票数是否大于零,若满足条件则进行售票操作,并输出当前剩余票数及对应窗口信息;

3、当某个线程完成执行后,系统将对票数进行减一处理;

4、一旦检测到票数小于等于零时,立即终止售票流程;

5、编写一个测试类,在其main方法中实例化售票类的对象;

6、随后生成三个Thread对象,并将之前创建的售票类实例作为参数传递给这些线程对象,最后依次调用start()方法启动各线程。

三、代码实现与功能验证

售票类:

复制代码
 public class SellTicet  implements Runnable{

    
  
    
     private int ticket = 100;
    
  
    
     @Override
    
     public void run() {
    
     while (true){
    
         if (ticket<

全部评论 (0)

还没有任何评论哟~