multithreading - 使用信号量保持和等待
问题描述
假设我有两个信号量 S1(1) 和 S2(2),它们正在执行以下操作:
T0 T1
S1.p() S2.p()
S2.p() S2.v()
S1.v()
S2.v()
我有“等待状态”吗?这告诉我我处于死锁状态:“等待或资源持有:一个进程当前持有至少一个资源并请求其他进程持有的额外资源。”
我会说我有一个等待的情况。但是我没有可能陷入僵局?
解决方案
推荐阅读
- kubernetes - 无法连接到k8s服务的外部ip
- javascript - 如何解决上传应用程序时出现的 parse utils import 错误?
- flutter - 带有通知的 Flutter Blue 从 2 个特征中读取值
- java - DurationFormatUtils 以自定义字符串格式格式化持续时间
- android - 请求运行时权限时Android App退出
- sql - Postgres 存储过程为 now() 的多次调用返回相同的纪元
- windows - Handling url schemes with golang?
- javascript - 在 nodejs 中过滤日志 - 如何记录 node.js 中特定 .js 文件中的所有日志
- ios - SwiftUI:LazyVGrid 间距不正确
- alexa - 是否可以使用 ASK CLI 为 Alexa Skill 上传徽标?