首页 > 编程语言 > 详细

多线程间的互斥(下)

时间:2020-07-27 09:19:25      阅读:72      评论:0      收藏:0      [点我收藏+]

问题:程序有多少临界资源?需要多少线程锁?

临界资源是没有任何的限制

一般性原则:每一个临界资源都需要一个线程锁进行保护(一 一对应)

技术分享图片

 

线程A和线程B获取线程锁的顺序是不一样的。 

线程的死锁概念

-线程间相互等待临界资源而造成彼此无法继续执行

发生死锁的条件:

-系统中存在多个临界资源且临界资源不可抢占

-线程需要多个临界资源才能继续执行

技术分享图片

 

 技术分享图片

 

 信号量的概念

-信号量是特殊的线程锁

-信号量允许N个线程同时访问临界资源

-Qt中直接支持信号量(QSemaphore)

技术分享图片

 

 再论生产消费者的问题:

技术分享图片

 

多线程间的互斥(下)

原文:https://www.cnblogs.com/-glb/p/13382969.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!