随笔分类 -  并发编程的艺术

摘要:8.1 等待线程完成的CountDownLatch 作用:让一个线程等待其余线程完成之后在继续执行,如主线程等待开启服务的子线程执行完毕后主线程继续执行,类似于join。 阅读全文
posted @ 2019-03-27 17:10 AshOfTime 阅读(87) 评论(0) 推荐(0)
摘要:与新建线程池相比线程池的优点 线程池的分类 ThreadPoolExector参数、执行过程、存储方式 阻塞队列 拒绝策略 10.1 Exector框架简介 10.1.1 Executor框架的两级调度模型 Exector框架目的是提高Java使用线程执行异步任务的效率,核心思想是把工作单元和执行机 阅读全文
posted @ 2019-03-11 14:57 AshOfTime 阅读(433) 评论(0) 推荐(0)
摘要:2.2 synchronized的实现原理与应用 当一个线程A执行字节码时遇到monitorenter指令时,会首先检查该指令关联的Object的对象头中的Mark Word状态。 2.2.1 如果是偏向锁 如果2bit标志位为01代表此时处于偏向锁状态。 如果2bit标志位为01且1bit的标志位 阅读全文
posted @ 2019-02-24 17:52 AshOfTime 阅读(199) 评论(0) 推荐(0)
摘要:5.1 Lock接口 并发编程安全性需要使用到锁,synchronized是一种隐式的获得与释放锁的关键字,除此之外还有Lock接口及其实现类,该接口及实现类提供了显示获取和释放锁的方式。 除了上述编程时的区别外,在使用时Lock与synchronized的区别主要有以下三点: 非阻塞的获取锁。一个 阅读全文
posted @ 2019-02-05 17:37 AshOfTime 阅读(276) 评论(0) 推荐(0)