多线程间的互斥(下)

2021-04-07 19:27

阅读:551

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

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

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

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

技术图片

 

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

线程的死锁概念

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

发生死锁的条件:

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

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

技术图片

 

 技术图片

 

 信号量的概念

-信号量是特殊的线程锁

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

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

技术图片

 

 再论生产消费者的问题:

技术图片

 

多线程间的互斥(下)

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

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


评论


亲,登录后才可以留言!