多线程间的互斥(下)

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

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

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

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

线程的死锁概念

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

发生死锁的条件:

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

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

 

 信号量的概念

-信号量是特殊的线程锁

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

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

 再论生产消费者的问题:

猜你喜欢

转载自www.cnblogs.com/-glb/p/13382969.html