<

分类

9

第九篇 : 线程按序交替

线程按序交替面试题......

第八篇 : Condition 线程通信

Condition接口描述了可能会与锁有关联的条件变量。这些变量在用 法上与使用 Object.wait 访问的隐式监视器类似,但提供了更强大的 功能。需要特别指出的是,单个 Lock 可能与多个 Condition 对象关 联。为了避免兼容性问题,Condition 方法的名称与对应的 Object 版 本中的不同。 在 Condition 对象中......

第七篇 : 生产者消费者案例-虚假唤醒

生产者消费者案例-虚假唤醒......

第六篇 : 重入锁Lock

重入锁可以完全代替synchronized关键字,在JDK5.0 的早期版本,重入锁的性能远远好于synchronized,但从JDK1.6开始,JDK 在 synchronized 上做了大量的优化,使得两者的性能差距不大。官方甚至推荐 在仅用于互斥代码时使用synchronize锁。 ......

第五篇 : 创建执行线程的方式三 实现 Callable 接口

Java 5.0 在 java.util.concurrent 提供了一个新的创建执行线程的方式:Callable 接口......

第四篇 : CountDownLatch 闭锁

Java 5.0 在 java.util.concurrent 包中提供了多种并发容器类来改进同步容器 的性能。......

第三篇 : 模拟CAS算法

CAS (Compare-And-Swap) 是一种硬件对并发的支持,针对多处理器 操作而设计的处理器中的一种特殊指令,用于管理对共享数据的并 发访问。......

第二篇 : 原子变量与CAS算法

CAS,Compare And Swap,即比较并交换。Atomic原子类操作等等都是以CAS实现的,甚至ConcurrentHashMap 在 1.8的版本中也调整为了CAS+Synchronized。可以说CAS是整个JUC的基石。......

第一篇 : volatile 关键字与内存可见性

Java 提供了一种稍弱的同步机制,即 volatile 变量,用来确保将变量的更新操作通知到其他线程。 可以将 volatile 看做一个轻量级的锁,但是又与锁有些不同......

第五篇 : NIO Pipe管道

Java NIO 管道是2个线程之间的单向数据连接。 Pipe有一个source通道和一个sink通道。数据会 被写到sink通道,从source通道读取。......