码迷,mamicode.com
首页 > 其他好文 > 详细

ReentrantLock获取、释放锁的过程

时间:2014-12-03 10:29:28      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:http   sp   bs   ad   as   tt   nbsp   ht   简单   

看了篇文章,觉得分析得很透彻,其后总结的很到位,地址:http://www.iteye.com/topic/1083832

 

把获取与释放操作串在一起在简单看一下:

  • 获取锁的时候将当前线程放入同步队列,并且将前一个节点的状态置为signal状态,然后阻塞
  • 当这个节点的前一个节点成功获取到锁,前一个节点就成了整个同步队列的head。
  • 当前一个节点释放锁的时候,它就唤醒当前线程的这个节点,然后当前线程的节点就可以成功获取到锁了
  • 这个时候它就到整个队列的头部了,然后release操作的时候又可以唤醒下一个。

ReentrantLock获取、释放锁的过程

标签:http   sp   bs   ad   as   tt   nbsp   ht   简单   

原文地址:http://www.cnblogs.com/lanhzbupt/p/4139257.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!