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

Synchronized关键字、Lock,并解释它们之间的区别

时间:2017-04-25 14:58:01      阅读:392      评论:0      收藏:0      [点我收藏+]

标签:排队   自己   机制   not   logs   http   bsp   中断   condition   

Synchronized 与Lock都是可重入锁,同一个线程再次进入同步代码的时候.可以使用自己已经获取到的锁。

Synchronized是悲观锁机制,独占锁。而Locks.ReentrantLock是,每次不加锁而是假设没有冲突而去完成某项操作,如果因为冲突失败就重试,直到成功为止。 ReentrantLock适用场景

  1. 某个线程在等待一个锁的控制权的这段时间需要中断
  2. 需要分开处理一些wait-notify,ReentrantLock里面的Condition应用,能够控制notify哪个线程,锁可以绑定多个条件。
  3. 具有公平锁功能,每个到来的线程都将排队等候。

友情链接: Synchronized关键字、Lock,并解释它们之间的区别

Synchronized关键字、Lock,并解释它们之间的区别

标签:排队   自己   机制   not   logs   http   bsp   中断   condition   

原文地址:http://www.cnblogs.com/lxmyhappy/p/6761771.html

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