码迷,mamicode.com
首页 > 编程语言 > 详细

多线程间的互斥(下)

时间:2020-07-27 09:36:52      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:技术   style   semaphore   需要   信号   info   com   直接   多个   

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

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

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

技术图片

 

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

线程的死锁概念

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

发生死锁的条件:

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

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

技术图片

 

 技术图片

 

 信号量的概念

-信号量是特殊的线程锁

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

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

技术图片

 

 再论生产消费者的问题:

技术图片

 

多线程间的互斥(下)

标签:技术   style   semaphore   需要   信号   info   com   直接   多个   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!