2007-04-02

如何避免锁

关键字: concurrency

今天早上复习了一下锁的知识,简单的留下几点总结:

一. 如何避免锁
1. 可以在修改资源的时候一下子获得所有需要修改的资源的锁,以后不再能获得其它的锁,直到本次修改完成。
2. 可以按某种顺序依次获得资源的锁。

二. 如果已经产生了锁的解决办法
1. 通过检查机制找出锁,然后牺牲掉那个进程。
2. 通过设置超时机制,自动杀掉持锁时间超时的进程,这个做法可能会误杀好人。

在实际应用中,一般可以使用保守的做法,即修改资源时一下子获得所有需要修改的资源的锁,然后再配上超时机制,确保万无一失。

评论
发表评论

您还没有登录,请登录后发表评论

jlj008
搜索本博客
最近加入圈子
存档
最新评论
  • 实体与值对象
    谢谢你的回复,对于你的这个例子里的学生来说,我们来做这样的假设:有两个stude ...
    -- by jlj008
  • 实体与值对象
    觉得你举的例子非常好。 现在我有几个问题: 1.值对象是不可变的。 在DDD书中 ...
    -- by didiluck