根据进程数,资源数判断是否发生死锁
假设系统中有M个可用资源,N个进程,设每个进程需要的资源数位W。请问哪些情况可能死锁那些不会死锁为什么
M=2,N=2,W=1
M=3,N=2,W=2
M=3,N=2,W=3
M=5,N=3,W=2
M=6,N=3,W=3
M=3,N=2,W=2
M=3,N=2,W=3
M=5,N=3,W=2
M=6,N=3,W=3
公式:N * (W-1)+1 ? M
若是 <号或者=号
那么不会死锁
>号就会发生死锁
原理:每个进程都获得 所需资源数-1 的资源数
另外再请求资源,若小于等于总量M
那么就有进程能获得所需资源数从而运行结束,释放资源给其他进程
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 对象分配(Alloc)底层原理浅谈
· 聊一聊 C#异步 任务延续的三种底层玩法
· 敏捷开发:如何高效开每日站会
· 为什么 .NET8线程池 容易引发线程饥饿
· golang自带的死锁检测并非银弹
· 一个适用于 .NET 的开源整洁架构项目模板
· API 风格选对了,文档写好了,项目就成功了一半!
· 【开源】C#上位机必备高效数据转换助手
· .NET 9.0 使用 Vulkan API 编写跨平台图形应用
· MyBatis中的 10 个宝藏技巧!