JDK1.5的新特性--Lock
来源:互联网 发布:java tomcat 部署 编辑:程序博客网 时间:2024/06/11 21:59
JDK1.5中提供了多线程的升级解决方法.
将同步synchronized替换成显示Lock操作.
将Object中的wait,notify,notifyAll,替换了Condition对象中的await(),signal(),signalAll().
该对象可以通过Lock锁的newCondition()方法进行获取.(一个锁可以对应多个Condition对象)
通过该对象,就可唤醒指定的线程.
如下是个小示例:
class Print2 {
private Lock lock =new ReentrantLock();
private Condition c1 = lock.newCondition();
private Condition c2 = lock.newCondition();
private Condition c3 = lock.newCondition();
private int flag = 1;
public void print1() throws Exception {
lock.lock();
if(flag!=1)
c1.await();
for (int i = 1; i <= 3; i++)
System.out.println("A: " + i);
System.out.println();
flag = 2;
c2.signal();
lock.unlock();
}
public void print2() throws Exception {
lock.lock();
if (flag != 2)
c2.await();
for (int i = 1; i <= 3; i++)
System.out.println("B: " + i);
System.out.println();
flag = 3;
c3.signal();
lock.unlock();
}
public void print3() throws Exception {
lock.lock();
if (flag != 3)
c3.await();
for (int i = 1; i <= 3; i++)
System.out.println("C: " + i);
System.out.println();
flag = 1;
c1.signal();
lock.unlock();
}
}
- JDK1.5的新特性--Lock
- JDK1.5-JDK1.8的新特性
- jdk1.5的新特性
- JDK1.5的新特性
- JDK1.5的新特性
- JDK1.5的新特性
- JDK1.5的新特性
- jdk1.5的新特性
- JDK1.5的新特性
- JDK1.5的新特性
- JDK1.5的新特性
- jdk1.5的新特性
- jdk1.5的新特性
- jdk1.5的新特性
- JDK1.5的新特性
- JDK1.5的新特性
- JDK1.5新特性——Lock、Condition接
- JDK1.5,JDK1.6,JDK1.7 各自的新特性
- Annotation 入门实例
- 1087 Super Jumping! Jumping! Jumping!
- [Shader 着色器]学习shader之前必须知道的东西之计算机图形学(一)渲染管线
- vp8 tree coding
- JVM 基础知识
- JDK1.5的新特性--Lock
- C++ Primer学习笔记(三):第7章
- 【当你学不进去的时候】普瑞马法则
- wtl在vs2008的安装
- HDU 1872 稳定排序
- POJ 1521 && HDOJ 1053
- HDU 1392 Surround the Trees(求凸包周长)
- 对 Linux 新手非常有用的 20 个命令
- STRING INT INTEGER间的转换