xy的的博客

--知其所以然,但是不要入魔

java中ReentrantLock 、 Condition、synchronized差异

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();






阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xyblog/article/details/51545902
文章标签: java 多线程
个人分类: 多线程 java
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭