首页 > 代码库 > 《Java程序性能优化》学习笔记 Ⅲ 并行程序优化

《Java程序性能优化》学习笔记 Ⅲ 并行程序优化

第四章 并行程序优化
4.1 并行程序设计模式
4.2 JDK多任务执行框架
4.3 JDK并发数据结构
4.4 并发控制方法
4.5 锁的性能和优化
4.6 无锁的并行计算

1.非阻塞同步避免了基于锁的同步的缺陷,无锁算法没有锁竞争带来的系统开销,也没有线程间频繁调度带来的开销。
CAS算法:包含3个参数CAS(v,e,n)。V表示要更新的变量,E表示预期值,N表示新值
2.JDK的java.util.concurrent.atomic包下,有一组使用无锁算法实现的原子操作类,如AtomicInteger/AtomicIntegerArray/AtomicLongArray等,

分别包装了对整数、整数数组、长整形数组等的多线程安全操作。

4.7 协程
1.线程是对进程的进一步分割,协程可以理解为对线程的进一步分割。
在Lua语言中对协程做了很好的实现。
2.Java原生语言不支持协程,Kilim是一个流行的协程框架。
使用协程,可以让系统以更低的成本,支持更高的并行度。