
并发编程的艺术
并发编程的艺术
FangQiongHao
这个作者很懒,什么都没留下…
展开
-
第五章 : Java中的锁
1. Lock接口 2. 队列同步器 2.1 : 队列同步器的接口与示例 2.2 : 队列同步器的实现分析 3.重入锁 4.读写锁 4.1 : 读写锁的接口与示例 4.2 : 读写锁的实现分析 5.LockSupport工具 6.Condition接口 6.1 : Conidition接口与示例 6.2 : Condition的实现分析 7.本章小结 ...原创 2019-12-23 18:12:36 · 196 阅读 · 0 评论 -
第四章 : Java并发编程基础
1. 线程简介 1.1 : 什么是线程 现代操作系统调度的最小单元是线程,一个进程可以创建多个线程,处理器在这些线程上高速切换,让使用者感觉到这些线程在同时执行 1.2 : 为什么要使用线程 1.3 : 线程优先级 1.4 : 线程的状态 1.5 : Daemon线程 2. 启动和终止线程 2.1 : 构造线程 2.2 : 启动线程 2.3 : 理解中断 2.4 : 过期的suspend(),re...原创 2019-12-16 18:08:33 · 159 阅读 · 0 评论 -
第三章 : Java内存模型
1. Java内存模型的基础 1.1 : 并发编程模型的两个关键问题 1.2 : Java内存模型的抽象结构 1.3 : 从源码到指令序列的重排序 1.4 : 并发编程模型的分类 1.5 happens-before简介 2. 重排序 2.1 : 数据依赖性 2.2 : as-if-serial语义 2.3 : 程序顺序规则 2.4 : 重排序对多线程的影响 3. 顺序一致性 3.1 : 数据竞争...原创 2019-12-16 17:55:01 · 194 阅读 · 0 评论 -
第二章 : Java并发机制的底层实现原理
Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM实现和CPU指令 1. volatile的应用 volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的"可见性",就是说当一个线程T1修改了一个共享变量,另外一个线程T2能读到这个被修改的值.它不会...原创 2019-12-16 17:40:55 · 172 阅读 · 0 评论 -
第一章 : 并发编程的挑战
1 : 上下文切换 CPU通过时间片分配算法来循坏执行任务,当前任务执行一个时间片后会切换到下一个任务,但是在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以加载这个任务状态 任务从保存到再加载的过程就是一次上下文切换 1.1 : 多线程一定快么 答案是不一定,线程有创建和上下文切换的开销,当并发操作不超过百万次的时候,并发执行耗时 > 串行执行耗时 1.2 : 测试上...原创 2019-12-16 15:37:10 · 201 阅读 · 0 评论