免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: franliu
打印 上一主题 下一主题

程序死锁典型案例分析 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2009-11-28 18:44 |只看该作者

回复 #19 xjromance 的帖子

对..

论坛徽章:
0
22 [报告]
发表于 2009-11-28 18:45 |只看该作者

回复 #20 xjromance 的帖子

客气了...

论坛徽章:
0
23 [报告]
发表于 2013-12-11 15:35 |只看该作者
好多人都没明白锁和死锁的区别。。。

论坛徽章:
0
24 [报告]
发表于 2013-12-12 09:01 |只看该作者
回复 23# roden


    jieshiyixia

论坛徽章:
2
摩羯座
日期:2013-12-13 13:46:42白羊座
日期:2013-12-13 18:05:06
25 [报告]
发表于 2013-12-12 09:12 |只看该作者
引用楼主的答复,说得很清楚.



不过死锁的“pattern” 都是一样的。那就是:

作业甲锁住资源a, 同时等待乙作业释放资源b

作业乙锁住资源b, 同时等待作业甲释放资源a

这样死锁就发生啦。

论坛徽章:
0
26 [报告]
发表于 2014-03-11 14:00 来自手机 |只看该作者
感谢楼主分享,这个案例的确可能存在。
当然一般情况会以某个进程超时退出为结束,不会彻底锁死。
不过满屏幕的LCKW,和举步维艰的响应时长会令人相当不愉快。

论坛徽章:
0
27 [报告]
发表于 2014-03-17 13:55 |只看该作者
超时退出未必是个好的主意。记得我们公司有个初级程序员修改了客户主文件维护程序,当有人修改客户主记录是就锁住记录。这个记录里面记录着这个客户的信用额度和我们赊给他的应收账和未收账订单。逻辑上来说,当应收账+定单金额超过信用额度,定单就会被锁住以防超过赊账额超过信用额度。

使用了更改过的客户主文件维护程序,用户修改到一半去开会,会议开了3个小时后,其中其他用户输入了许多订单,由于客户主文件被锁,定单输入程序见锁便自动重试3次变TIME OUT了而没有更新定单金额,这样超过信用额度的许多定单便发出去了。

其实我倒是比较喜欢让程序进入 MESSAGE WAIT 状态而不是TIME OUT.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP