Lock ReentrantLock synchronized

时间:2014-03-31 11:46:53   收藏:0   阅读:535

参考:

http://blog.csdn.net/fw0124/article/details/6672522

bubuko.com,布布扣
synchronized (lockObject) { 
  // update object state
}
bubuko.com,布布扣

 

bubuko.com,布布扣
Lock lock = new ReentrantLock();
lock.lock();
try { 
  // update object state
}
finally {
  lock.unlock(); 
}
bubuko.com,布布扣

 

ReentrantLock 性能更好,扩展性,继承类更多,但是 unlock 有时候容易忘记写,很多人不是很熟悉

Lock 框架是同步的兼容替代品,它提供了 synchronized 没有提供的许多特性,它的实现在争用下提供了更好的性能。但是,这些明显存在的好处,还不足以成为用 ReentrantLock 代替 synchronized 的理由。相反,应当根据您是否 需要 ReentrantLock 的能力来作出选择。大多数情况下,您不应当选择它 —— synchronized 工作得很好,可以在所有 JVM 上工作,更多的开发人员了解它,而且不太容易出错。只有在真正需要 Lock的时候才用它

Lock ReentrantLock synchronized,布布扣,bubuko.com

原文:http://www.cnblogs.com/wjw334/p/3633931.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!