java中ReentrantLock 、 Condition、synchronized差异

原创 2016年05月31日 15:11:24

ReentrantLock + Condition 是给用户更加精确的线程控制的

ReentrantLock表示可从入锁

Condition 表示条件变量

synchronized是没一个对象内部已经定义好的一个关键,在每一个对象内部都有一个锁,如果一个方法使用了 synchronized关键字,那么对象将保护整个方法他和:

public void fun(){

try{

lock.lock();

......

} finally{

lock.unlock();

}

}

和 

public synchronized fun(){

.....

}

是一样的效果


其中通知效果:

public synchronized void fun(){

while(...);

wait();

notifyAll();

}


其中 wait == condition.await();

notifyAll = condition.signalALl();






版权声明:本文为博主原创文章,未经博主允许不得转载。

java并发编程synchronized、volatile关键字及ReentrantLock类总结

1、java为解决并发问题引入的关键字synchronized, volatile ,怎么用? synchronized 修饰的方法 或者 代码块(保证可见性和排他性); synchronized修饰...
  • abasen
  • abasen
  • 2016年03月25日 17:36
  • 998

java的两种同步方式, Synchronized与ReentrantLock的区别

java在编写多线程程序时,为了保证线程安全,需要同步,经常用到两种同步方式就是Synchronized和重入锁ReentrantLock。 相似点: 这两种同步方式有很多相似之处,它们都是加锁方式同...
  • chenchaofuck1
  • chenchaofuck1
  • 2016年04月02日 19:37
  • 7721

synchronized和ReentrantLock区别浅析

一、什么是sychronized        sychronized是java中最基本同步互斥的手段,可以修饰代码块,方法,类.       在修饰代码块的时候需要一个reference对象作为锁的...
  • zmx729618
  • zmx729618
  • 2016年06月06日 15:16
  • 1744

Lock、synchronized和ReadWriteLock的区别和联系以及Condition

在java多线程编程中,可能我们经常会遇到线程同步的问题,可以使用synchronized或者Lock去控制同步锁,他们都能实现线程的同步,下面来分析下这两种方式的区别:1.synchronized可...
  • qq_20641565
  • qq_20641565
  • 2016年11月18日 00:20
  • 3156

ReentrantLock和synchronized的性能对比

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytpo8 ReentrantLock和内部锁的性能对比     Reentra...
  • yemou_blog
  • yemou_blog
  • 2015年12月14日 11:13
  • 541

synchronized和lock(reentrantlock) 区别

1.某个线程在等待一个锁的控制权的这段时间需要中断 2.需要分开处理一些wait-notify,ReentrantLock里面的Condition应用,能够控制notify哪个线程 3.具有公平锁...
  • ningguixin
  • ningguixin
  • 2014年04月17日 18:09
  • 6285

java 使用ReentrantLock Condition实现阻塞队列

阻塞队列简单实现。先进先出
  • u010959000
  • u010959000
  • 2016年03月23日 23:53
  • 927

java并发锁ReentrantLock源码分析二之Condition实现原理

本文深入分析了并发锁ReentrantLock Condtion的实现原理,一个很重要的关键是await先释放锁,然后阻塞,在条件队列中等待被唤醒,每个CondtionObject维护着一个条件队列,...
  • prestigeding
  • prestigeding
  • 2016年11月14日 13:55
  • 2013

synchronized和锁(ReentrantLock) 区别

5ibc.net纯属抄袭本文 转载请注明出处 作者:小风筝0010 原文:http://blog.csdn.net/zheng548/article/details/54426947 ...
  • Zheng548
  • Zheng548
  • 2017年01月16日 16:12
  • 1195

比较ReentrantLock和synchronized和信号量Semaphore实现的同步性能

为了比较一下ReentrantLock和synchronized的性能,做了一下性能测试: public class ReentreLockTest { private static long...
  • arkblue
  • arkblue
  • 2011年01月14日 14:21
  • 6906
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java中ReentrantLock 、 Condition、synchronized差异
举报原因:
原因补充:

(最多只允许输入30个字)