标签

18

第十二篇 : Fork/Join框架-工作窃取

Fork/Join 框架:就是在必要的情况下,将一个大任务,进行拆分(fork)成 若干个小任务(拆到不可再拆时),再将一个个的小任务运算的结果进 行 join 汇总。......

juc

第十一篇 : 线程池

线程池可以解决两个不同问题:由于减少了每个任务调用的开销,它们通常可以在 执行大量异步任务时提供增强的性能,并且还可以提供绑定和管理资源(包括执行 任务集时使用的线程)的方法。每个 ThreadPoolExecutor 还维护着一些基本的统计数 据,如完成的任务数。......

juc

第十篇 : ReadWriteLock 读写锁

ReadWriteLock维护了一对相关的锁,一个用于只读操作, 另一个用于写入操作。只要没有 writer,读取锁可以由 多个 reader 线程同时保持。写入锁是独占的。ReadWriteLock读取操作通常不会改变共享资源,但执行 写入操作时,必须独占方式来获取锁。对于读取操作占 多数的数据结构。 ReadWriteLock 能提供比独占锁更高 的并发而对于只读的数据结构,其中包含的......

juc

第九篇 : 线程按序交替

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

juc

第八篇 : Condition 线程通信

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

juc

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

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

juc

第六篇 : 重入锁Lock

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

juc

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

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

juc

第四篇 : CountDownLatch 闭锁

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

juc

第三篇 : 模拟CAS算法

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

juc