为啥在互斥信号量之前需要进行 P 操作,否则会死锁
@采花小狐狸回答的很生动,这里就稍微补充一下。正常顺序不说了,不先进行 P 操作的情况:生产者进车间,啪,把门锁了(mutex);瞅了一眼,卧槽都满了还产个屁,我要等消费者了,先睡一觉(空条件的 P 原语)... (上帝视角内心 OS:你丫倒是出来啊……)消费者来到车间,看了一眼,诶锁门了,生产者一定在里面生产呢,我在门外等着吧(mutex 阻塞)...等啊等,等啊等...................
■网友
对于 mutex 而言,一个 p 要等待一个 v 才能继续,顺便一个锁是没有所谓死锁的,只有两个以上的锁才会由于锁定顺序不同而导致死锁t1: p(1), p(2), v(2), v(1)t2: p(2), p(1), v(1), v(2)如果两个线程都完成了第一步,就会造成死锁。
■网友
各位亲能否回答详细些呢?
推荐阅读
- 「控制」提优信号控制让交通更畅行 苏州推广红绿灯倒计时和绿波带
- 注意防范!北京发布大风蓝色预警信号
- 为啥看到书柜上的藏书会有心旷神怡的感觉
- 为啥知乎上普便有一种【我在北上广深打工,所以拥有更好的视野】这样的错觉
- 为啥工商银行的用户体验如此之差
- 汽车|看了中消协4S店服务测评调查结果,终于知道法系车为啥卖不好了
- 你为啥从窝窝商城离职?
- 为啥5G和2.4G默认的BSSID是相同的
- 为啥电器实体店的价格比淘宝贵那么多
- 现在在线学习视频有很多了,为啥大部分人还是喜欢下载下来观看