有共享资源、合作关系的线程之间由于并发交替运行,可能导致运行结果不正常。
下面模拟火车票购票系统,有三个售票窗口同时售票
由于线程的并发执行,导致出现非法的剩余票数。
假设num=1,线程T0进入休眠状态,保护现场后系统调度线程T1,T1休眠调度T2,T2休眠后T0休眠时间到被唤醒并执行num--,T1休眠时间到被唤醒并执行num--,T2休眠时间到被唤醒并执行num--
加入互斥锁,一个线程在进入临界区时获得锁,其他线程无法进入临界区,在退出临界区时释放锁,其他进程便可以访问临界区。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务