About Lock

2016/03/08 Summary

About Lock

锁机制在计算机程序系统软件系统中无处不在。由于锁的机制,帮助系统或软件安全可靠的运行。

锁机制我有接触到的地方是:

  • 关系数据库的锁
  • 多线程执行时的锁(mutex)
  • 多进程执行时的锁(mutex)
  • 分布式数据库的锁(redis数据库的锁)
  • Ruby的解释器锁(GIL)

  对锁机制的简单理解:
  当你获得锁的时候,你就独占这个共享的资源或某段程序。
  在某一时刻只有你能使用(比如更新、写操作)这个共享资源,
  或只有你能执行这段程序。当你执行完后,你把锁归还给系统,
  另一个人就能获得这个锁(或是已经那了一个新的锁,但是这个锁还没有锁资源)。
  这样,在某一时刻,只有那个人能使用这个共享资源。
  想起了阮云峰blog中的插图:门外有很多锁,一个人拿了一个锁后进门把门锁上。
  外面的人即使拿了新的锁,但是也无法进门。必须等里面的人做完事情了,开锁出来。
  然后把锁放回原来的位置。外面的人可以拿着新锁或者是之前的人归还的锁,进门,然后把门锁上。

Search

    Table of Contents