随笔分类 -  Java并发编程实战

读过以后自己整理的一些知识点,方便理解记忆
第十六章 Java内存模型
摘要:什么是内存模型,为什么需要它 发布 初始化过程中的安全性 阅读全文

posted @ 2018-10-21 17:37 胡子就不刮 阅读(86) 评论(0) 推荐(0) 编辑

第十五章 原子变量与非阻塞同步机制
摘要:锁的劣势 硬件与并发的支持 原子变量类 非阻塞算法 阅读全文

posted @ 2018-10-21 17:36 胡子就不刮 阅读(84) 评论(0) 推荐(0) 编辑

第十四章 构建自定义的同步工具
摘要:状态依赖性的管理 使用条件队列 显示条件队列 显示的Condition对象 Synchronized剖析 AbstractQueuedSynchronizer java.util.concurrent同步器类中的AQS 阅读全文

posted @ 2018-10-21 17:36 胡子就不刮 阅读(80) 评论(0) 推荐(0) 编辑

第十三章 显示锁
摘要:Lock与ReentrantLock 性能考虑因素 公平性 在synchronized和ReentrantLock之间选择 读-写锁 阅读全文

posted @ 2018-10-21 17:35 胡子就不刮 阅读(63) 评论(0) 推荐(0) 编辑

第十二章 并发程序的测试
摘要:正确性测试 性能测试 避免性能测试的陷阱 其他测试方法 阅读全文

posted @ 2018-10-21 17:34 胡子就不刮 阅读(71) 评论(0) 推荐(0) 编辑

第十一章 性能与可伸缩性
摘要:对性能的思考 Amdahl定律 线程引入的开销 减少锁的竞争 示例:比较Map的性能 减少上下文切换的开销 阅读全文

posted @ 2018-10-21 17:34 胡子就不刮 阅读(60) 评论(0) 推荐(0) 编辑

第十章 避免活跃性危险
摘要:死锁 死锁的避免与诊断 其他活跃性危险 阅读全文

posted @ 2018-10-21 17:33 胡子就不刮 阅读(78) 评论(0) 推荐(0) 编辑

第九章 图形用户界面的并行化
摘要:为什么GUI是单线程的 短时间的GUI任务 长时间的GUI任务 共享数据模型 其他形式的单线程子系统 阅读全文

posted @ 2018-10-21 17:32 胡子就不刮 阅读(105) 评论(0) 推荐(0) 编辑

第七章 取消与关闭
摘要:任务取消 停止基于线程的服务 处理非正常的线程终止 JVM关闭 阅读全文

posted @ 2018-10-21 17:31 胡子就不刮 阅读(79) 评论(0) 推荐(0) 编辑

第八章 线程池的使用
摘要:在任务与执行策略之间的隐形耦合 设置线程池的大小 配置ThreadPoolExecutor 扩展ThreadPoolExecutor 递归算法的并行化 阅读全文

posted @ 2018-10-21 17:31 胡子就不刮 阅读(75) 评论(0) 推荐(0) 编辑

第六章 任务执行
摘要:在线程中执行任务 Executor框架 找出可利用的并行性 阅读全文

posted @ 2018-10-21 17:30 胡子就不刮 阅读(117) 评论(0) 推荐(0) 编辑

第五章 基础构建模块
摘要:同步容器类 并发容器 阻塞队列和生产者-消费者模式 阻塞方法和中断方法 同步工具类 构建高效且可伸缩的结果缓存 阅读全文

posted @ 2018-10-21 17:29 胡子就不刮 阅读(91) 评论(0) 推荐(0) 编辑

第四章 对象的组合
摘要:设计线程安全的类 设计线程安全类的三个基本要素: 1. 找出构成对象状态的所有变量 2. 找出约束状态变量的不变性条件 3. 建立对象状态的并发访问管理策略 实例封闭 当一个对象被封装到另一个对象中,能够访问到被封装对象的所有代码路径都是已知的。通过将封闭机制和合适的加锁策略结合,可以确保以线程安全 阅读全文

posted @ 2018-10-21 17:27 胡子就不刮 阅读(94) 评论(0) 推荐(0) 编辑

第三章 对象的共享
摘要:可见性 失效数据 非原子的64位操作:非volatile类型的64位数值变量(double和long).java内存模型要求,变量的读取和写入操作必须是原子。对于非volatile类型的long和double变量,JVM允许将64位的读写操作分解成两个32位操作 加锁与可见性 Volatile变量: 阅读全文

posted @ 2018-10-21 17:26 胡子就不刮 阅读(108) 评论(0) 推荐(0) 编辑

第二章 线程安全性
摘要:什么是线程安全性 要编写线程安全的代码,其核心在于要对状态访问操作进行管理,特别是对共享的(Shared)和可变的(Mutable)状态的访问。“共享”意味着变量可以由多个线程同时访问,而“可变”则意味着变量的值在其生命周期内可以发生变化 一个对象是否需要是线程安全的,取决于它是否被多个线程访问。这 阅读全文

posted @ 2018-10-21 17:26 胡子就不刮 阅读(98) 评论(0) 推荐(0) 编辑

第一章 简介
摘要:并发简史 在早期的计算机中不包含操作系统,它们从头到尾只执行一个程序,并且这个程序能访问计算机中的所有资源。在这种裸机环境中,不仅很难编写和运行程序,而且每次只能运行一个程序,这对于昂贵并且稀有的计算机资源来说也是一种浪费操作系统的出现使得计算机每次能运行多个程序,并且不同的程序都在单独的进程中运行 阅读全文

posted @ 2018-10-21 17:25 胡子就不刮 阅读(100) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示