经典案例:学生时代常遇到的买票难题线程同步解决方式
发布时间
阅读量:
阅读量
一、案例需求
某家影院即将上映震撼巨制《回村的诱惑》,总计提供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)
还没有任何评论哟~
