package?com.xsz.demo;
import?java.util.concurrent.locks.Condition;
import?java.util.concurrent.locks.Lock;
import?java.util.concurrent.locks.ReentrantLock;
/**
?*?兩個線程交替執行
?*?@au...
分类:
编程语言 时间:
2014-11-05 15:15:50
阅读次数:
255
ReentrantLock类有一个方法newCondition用来生成这个锁对象的一个条件(ConditionObject)对象,它实现了Condition接口。Condition提供了线程通讯的一套机制await和signal等线程间进行通讯的方法。。
1、适用场景
当某线程获取了锁对象,但因为某些条件没有满足,需要在这个条件上等待,直到条件满足才能够往下继续执行时,就需要...
分类:
其他好文 时间:
2014-10-30 19:13:14
阅读次数:
242
1 import java.util.concurrent.locks.Lock; 2 import java.util.concurrent.locks.ReentrantLock; 3 4 public class LookTest 5 { 6 public static void ...
分类:
编程语言 时间:
2014-10-26 21:09:51
阅读次数:
241
最近学习Jdk的源代码时,读到了ConcurrentHashMap的源码实现时,发现每一个分段Segment都是ReentrantLock类型,于是顺带对ReentrantLock的源代码进行了学习。。在这里做一个笔记总结。因为只有在工作之余才能有空看看,所以思路有点零散,仅供参考。。。。
1、如何确定哪个线程可重复进入该锁
在获取锁的时候,首先会检查...
分类:
其他好文 时间:
2014-10-25 11:55:58
阅读次数:
250
public class NumberPrint implements Runnable { private int state = 1; private int n = 1; // 使用lock做锁 private ReentrantLock lock = new Reen...
分类:
其他好文 时间:
2014-10-10 19:27:34
阅读次数:
211
synchronized与lock 都是用来实现线程同步的锁,synchronized对象锁,lock是一个接口,她的实现有reentrantlock互斥锁以及ReentrantReadWriteLock共享锁。这里说明一下ReentrantReadWriteLock共享锁,所谓共享就是该锁提供读读...
分类:
其他好文 时间:
2014-10-10 19:16:04
阅读次数:
211
LinkedBlockingQueue是一个链表实现的阻塞队列,在链表一头加入元素,如果队列满,就会阻塞,另一头取出元素,如果队列为空,就会阻塞。
LinkedBlockingQueue内部使用ReentrantLock实现插入锁(putLock)和取出锁(takeLock)。putLock上的条件变量是notFull,即可以用notFull唤醒阻塞在putLock上的线程。takeLo...
分类:
数据库 时间:
2014-09-29 12:56:10
阅读次数:
327
在多线程开发中,除了synchronized这个关键字外,我们还能通过Lock接口来实现这种效果。通过Lock接口来实现
这种多线程加锁效果的好处是非常的灵活,我们不在需要对整个函数加锁,而且可以很方便的把他放在我们函数的任何
一个地方,非常的称心,而且从效率上来说,使用Lock接口要比使用synchronized关键字效率高一些,下面我们来使用
一个例子来说明这种方法的使用。
p...
分类:
编程语言 时间:
2014-09-19 23:59:06
阅读次数:
469
新的锁定类提高了同步性 —— 但还不能现在就抛弃 synchronizedJDK 5.0为开发人员开发高性能的并发应用程序提供了一些很有效的新选择。例如,java.util.concurrent.lock中的类ReentrantLock被作为 Java 语言中synchronized功能的替代,它具...
分类:
编程语言 时间:
2014-09-17 13:38:32
阅读次数:
296
本章对ReentrantLock包进行基本介绍,这一章主要对ReentrantLock进行概括性的介绍,内容包括:ReentrantLock介绍ReentrantLock函数列表ReentrantLock示例在后面的两章,会分别介绍ReentrantLock的两个子类(公平锁和非公平锁)的实现原理。...
分类:
编程语言 时间:
2014-09-16 23:23:11
阅读次数:
304