并发编程
此专栏记录高并发编程相关的博客。
NayelyAA
我想上红名
展开
-
《Java并发编程的艺术》读书笔记 第三章 Java内存模型
《Java并发编程的艺术》读书笔记 第三章 Java内存模型文章目录《Java并发编程的艺术》读书笔记 第三章 Java内存模型1.Java内存模型的基础2.重排序2.1 数据依赖性2.2 as-if-serial语义2.3 程序顺序规则2.4 重排序对多线程的影响3.顺序一致性3.1 数据竞争和顺序一致性3.2 顺序一致性内存模型3.3 未同步程序的执行特性4.volatile的特性4.1...原创 2020-02-05 15:36:15 · 252 阅读 · 0 评论 -
《Java并发编程的艺术》读书笔记 第九章 Java中的线程池
《Java并发编程的艺术》读书笔记 第九章 Java中的线程池文章目录《Java并发编程的艺术》读书笔记 第九章 Java中的线程池1.线程池的实现原理2.线程池的使用2.1 线程池的创建2.2 向线程池提交任务2.3 关闭线程池**2.4** 合理地配置线程池2.5 线程池的监控1.线程池的实现原理 ...原创 2020-02-02 21:17:43 · 147 阅读 · 0 评论 -
《Java并发编程的艺术》读书笔记 第八章 Java中的并发工具类
《Java并发编程的艺术》读书笔记 第八章 Java中的并发工具类文章目录《Java并发编程的艺术》读书笔记 第八章 Java中的并发工具类1.等待多线程完成的CountDownLatch2.同步屏障CyclicBarrier2.1 CyclicBarrier的应用场景2.2 CyclicBarrier和CountDownLatch的区别3.控制并发线程数的Semaphore4.线程间交换数...原创 2020-02-02 21:15:06 · 142 阅读 · 0 评论 -
《Java并发编程的艺术》读书笔记 第七章 Java中的13个原子操作类
《Java并发编程的艺术》读书笔记 第七章 Java中的13个原子操作类文章目录《Java并发编程的艺术》读书笔记 第七章 Java中的13个原子操作类1.原子更新基本类型类2.原子更新数组3.原子更新引用类型4.原子更新字段类1.原子更新基本类型类 使用原子的方式更新基本类型,...原创 2020-02-02 21:13:24 · 103 阅读 · 0 评论 -
《Java并发编程的艺术》读书笔记 第六章 Java并发容器和框架
《Java并发编程的艺术》读书笔记 第六章 Java并发容器和框架文章目录《Java并发编程的艺术》读书笔记 第六章 Java并发容器和框架1.ConcurrentHashMap的实现原理与使用1.1为什么使用ConcurrentHashMap1.2 ConcurrentHashMap的结构1.3 ConcurrentHashMap的初始化1.4 定位 Segment1.5 Concurre...原创 2020-02-02 21:05:23 · 212 阅读 · 0 评论 -
《Java并发编程的艺术》读书笔记 第二章 Java并发机制的底层实现原理
《Java并发编程的艺术》读书笔记 第二章 Java并发机制的底层实现原理文章目录《Java并发编程的艺术》读书笔记 第二章 Java并发机制的底层实现原理1.volatile的应用volatile的定义和实现原理2.synchronized的实现原理与应用Java对象头锁的升级与对比3.原子操作的实现原理处理器如何实现原子操作Java如何实现原子操作1.volatile的应用 之前看...原创 2020-02-02 20:50:45 · 197 阅读 · 0 评论 -
《Java并发编程的艺术》读书笔记 第四章 Java并发编程基础
《Java并发编程的艺术》读书笔记 第四章 Java并发编程基础文章目录《Java并发编程的艺术》读书笔记 第四章 Java并发编程基础1.线程介绍1.1 为什么使用多线程1.2 线程优先级1.3 线程的状态1.4 Daemon线程2.启动和终止线程2.1 关于中断2.2 过期的suspend()、resume()、stop()3.线程间通信3.1 volatile和synchronized...原创 2020-02-04 19:14:49 · 136 阅读 · 0 评论 -
《Java并发编程的艺术》读书笔记 第五章 Java中的锁
《Java并发编程的艺术》读书笔记 第五章 Java中的锁文章目录《Java并发编程的艺术》读书笔记 第五章 Java中的锁1.Lock接口2.队列同步器3.重入锁4.读写锁5.LockSupport工具6.Condition接口6.1 Condition的实现分析1.Lock接口 Lock接口提供的synchronized关键字不具备的主要特性如下所示:...原创 2020-02-04 19:13:26 · 160 阅读 · 0 评论 -
《Java并发编程的艺术》读书笔记 第一章 并发编程的挑战
《Java并发编程的艺术》读书笔记 第一章 并发编程的挑战文章目录《Java并发编程的艺术》读书笔记 第一章 并发编程的挑战1。上下文切换如何减少上下文切换2。死锁3。资源限制的挑战什么是资源挑战及引发的问题如何解决1。上下文切换 当我们使用多线程的方式执行代码的时候,CPU会给每个线程分配CPU时间片来实现。时间片就是CPU给每个线程分配的时间,时间片时间比较...原创 2020-01-28 20:19:50 · 95 阅读 · 0 评论 -
初识Java并发编程(二)
文章目录1.共享模型之管程1.1共享带来的问题Java的体现问题分析临界区Critical Section竞争条件Race Condition1.2 synchronized解决方案synchronized如何理解思考1.3 方法上的synchronized所谓的“线程八锁”1.4 变量的线程安全分析成员变量和静态变量是否线程安全?局部变量是否线程安全?局部变量线程安全分析常见线程安全类线程安全类...原创 2020-01-25 20:18:11 · 300 阅读 · 1 评论 -
如何定位和查找java中的死锁
文章目录【实例】将会发生死锁的代码定位死锁的工具使用jps和jstack定位死锁查看正在运行的进程ID查看进程中的所有线程使用jconsole打开jconsole打开线程选项卡,点击检测死锁【实例】将会发生死锁的代码 将用一段会发生死锁的代码进行演示如何定位死锁。import static java.lang.Thread.sleep;public class Dead...原创 2020-01-25 19:02:37 · 700 阅读 · 0 评论 -
一文总结线程之间各种状态转换的情况
假设有线程Thread t情况1:NEW–>RUNNABLE 当调用t.start()方法,NEW–>RUNNABLE情况2:RUNNABLE<–>WAITING t线程使用synchronized(obj)获取了对象锁之后->调用obj.wait(),线程从RUNNABLE–>WAITING...原创 2020-01-25 18:24:49 · 144 阅读 · 0 评论 -
初识Java并发编程(一)
初识Java并发编程(上) 笔记是根据某视频学习记录的,有一些地方做了精简。总体来说看的学习视频开头部分讲的还是有点简略的,不过好的地方是有实际操作,我觉得可以当作入门视频来看。之前学并发看的对某一个点进行深入剖析的视频和一些书籍,再重新过一遍基础,对掌握整个体系还是挺有帮助的,有些地方老师讲的还是挺不错的。文章目录初识Java并发编程(上)1.进程与线程1.1进程与线程...原创 2020-01-24 20:11:37 · 209 阅读 · 0 评论