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多线程之concurrent包(一)——ReentrantLock与Condition

什么是reentrantlockReentrantLock 类实现了 Lock ,它拥有与 synchronized 相同的并发性和内存语义,但是添加了类似锁投票、定时锁等候和可中断锁等候的一些特性。...

Java多线程(九)之ReentrantLock与Condition

一、ReentrantLock 类 1.1 什么是reentrantlock java.util.concurrent.lock 中的 Lock 框架是锁定的一个抽象,它允许把锁定...

Java多线程(五) ReentrantLock、Lock和Condition的用法

Java多线程(五) ReentrantLock、Lock和Condition的用法

java中重入ReentrantLock(Condition监视器)锁生产者消费者

import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.u...

Java技术——ReentrantLock的Condition的作用以及使用

0. 前言  之前知道ReentrantLock类有一个newCondition(),用于获取Lock上的一个条件,还可以多次newCondition()获得多个条件,Condition可用于线程间通...

java 使用ReentrantLock Condition实现阻塞队列

阻塞队列简单实现。先进先出

Java多线程11:ReentrantLock的使用和Condition

ReentrantLock ReentrantLock,一个可重入的互斥锁,它具有与使用synchronized方法和语句所访问的隐式监视器锁相同的一些基本行为和语义,但功能更强大。   ...

【Java高并发学习】重入锁ReentrantLock、Condition条件及信号量

本文简单介绍了重入锁以及相关操作、Condition条件与重入锁的结合例子、信号量的作用以及简单例子。...

java并发控制:ReentrantLock Condition使用详解

http://my.oschina.net/004/blog/467286 我们通过一个实际的例子来解释Condition的用法: 我们要打印1到9这9个数字,由A线程先打印1,2,3,然后...

Java之美[从菜鸟到高手演变]之Synchronized和ReentrantLock锁机制的比较

Java 理论与实践: JDK 5.0 中更灵活、更具可伸缩性的锁定机制新的锁定类提高了同步性 —— 但还不能现在就抛弃 synchronized都放到...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java中ReentrantLock 、 Condition、synchronized差异
举报原因:
原因补充:

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