摘要:
Collectors 收集器接口和实现 简单的结果收集 toList():将流中的元素收集到一个 ArrayList 中 toCollection():将流中的元素收集到一个 Collection 中 toSet():将流中的元素收集到一个 HashSet 中 toMap():将流中的元素收集到一个 阅读全文
摘要:
Stream 流管道 流管道的创建【以 ArrayList 为数据源】:.stream()、parallelStream() 有状态流管道的链接【sorted()】 链接终端操作执行计算【forEach()】 Spliterator 及其特征值 流管道和操作标识 流管道中的元素类型 无状态中间操作 阅读全文
摘要:
Exchanger 创建实例 线程间交换数据 java / 阻塞等待其他线程到达交换点后执行数据交换,支持中断 / @SuppressWarnings("unchecked") public V exchange(V x) throws InterruptedException { Object v 阅读全文
摘要:
Phaser 创建实例 到达此阶段,并阻塞等待其他参与者到达,等价于 {@code awaitAdvance(arrive())}. 到达此阶段 && 将下一阶段的参与者数目 1 尝试在指定的阶段阻塞等待 java / 如果当前阶段值==phase,则阻塞等待 / public int awaitA 阅读全文
摘要:
CyclicBarrier 创建实例 java / 栅栏的分代,循环递增 / private static class Generation { Generation() {} // 此带的栅栏是否已经被破坏 boolean broken; } / 保护进入屏障的锁 / private final 阅读全文
摘要:
CountDownLatch 创建实例 java private static final class Sync extends AbstractQueuedSynchronizer { private static final long serialVersionUID = 49822649819 阅读全文
摘要:
Semaphore 创建实例 java private final Sync sync; / 信号量的同步器实现 / abstract static class Sync extends AbstractQueuedSynchronizer { private static final long s 阅读全文
摘要:
ForkJoinPool 核心参数+创建实例 工作者线程的执行逻辑 ForkJoinTask.fork/join/invoke fork:将任务提交到 ForkJoinPool 中异步执行 join invoke java / 立即在当前线程中执行此任务,等待任务执行完毕并返回结果, 或抛出 Run 阅读全文
摘要:
ScheduledThreadPoolExecutor 创建实例 延时执行一次性任务 在以 unit 为单位的 initialDelay 延时后执行第一次任务, 并在当次任务执行完成之后在 delay 延时之后再次执行。 阅读全文
摘要:
ThreadPoolExecutor 线程池的生命周期 创建实例 执行一个 Runnable 任务,无返回值 工作者线程核心逻辑 工作者线程退出的情况 线程池拒绝策略 线程池的关闭 预启动核心工作者线程,以提高响应速度 java / 尝试预先启动一个核心工作者线程,阻塞等待获取任务,启动成功返回 t 阅读全文