您好,欢迎来到99网。
搜索
您的当前位置:首页C语言演示互斥锁

C语言演示互斥锁

来源:99网

有共享资源、合作关系的线程之间由于并发交替运行,可能导致运行结果不正常。

下面模拟火车票购票系统,有三个售票窗口同时售票

由于线程的并发执行,导致出现非法的剩余票数。

 

假设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

本站由北京市万商天勤律师事务所王兴未律师提供法律服务