首页 > 解决方案 > 使用信号量保持和等待

问题描述

假设我有两个信号量 S1(1) 和 S2(2),它们正在执行以下操作:

T0 T1

S1.p()    S2.p()
S2.p()    S2.v()
S1.v()
S2.v()

我有“等待状态”吗?这告诉我我处于死锁状态:“等待或资源持有:一个进程当前持有至少一个资源并请求其他进程持有的额外资源。”

我会说我有一个等待的情况。但是我没有可能陷入僵局?

标签: multithreadingprocesssynchronizationdeadlocksemaphore

解决方案


推荐阅读