Java-多线程之安全问题讨论

本文探讨了Java中多线程环境下安全问题的产生,通过案例分析了线程安全问题的原因,并介绍了同步代码块和同步方法作为解决手段。此外,还提及了JDK5后的Lock锁及其使用,以及防止死锁的方法。
摘要由CSDN通过智能技术生成

一.需求:某电影院目前正在上映贺岁大片,共有100张票,而它有3个售票窗口售票,请设计一个程序模拟该电影院售票。
案例1
在这里插入图片描述
在这里插入图片描述
可以看出,三个窗口自己卖自己的100张票,显然是不符合需求的,所以需要作出改进,让票数让三个线程对象共享,就把票数设置为静态的(static)
-----案例2改进
在这里插入图片描述
在这里插入图片描述
现在虽然解决了总共卖100张票的问题,但又了新的问题,出售票数顺序出现了混乱,这显然是不符合需求的,在真实环境中,售票时网络是不能实时传输的,总是存在延迟的情况,所以,在出售一张票以后,需要一点时间的延迟
案例3改进
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值