第一章 走进并行世界

2018-03-05  本文已影响0人  icelovesummer

基本概念

1. 同步和异步

2. 并行和并发

3. 临界区

4. 阻塞和非阻塞

5. 死锁、饥饿、活锁

6. 并发级别

6.1 阻塞(blocking)
6.2 无饥饿(starving-free)
6.3 无障碍(obstruction-free)
6.4 无锁(lock-free)
6.5 无等待(wait-free)

7. JMM

7.1 原子性(Atomicity)
7.2 可见性(Visibility)
7.2 有序性(Ordering)
7.3 指令重排规则(Happen-before)
  1. 程序顺序原则:一个线程内保证语义的串行性
  2. volatile规则:volatile变量的写,先发生于读
  3. 锁规则:unlock先于后面的lock
  4. 传递性:A先于B,B先于C,则A先于C
  5. 线程的start()方法先于它的每一个动作
  6. 线程的所有操作先于它的终结(Thread.join())
  7. 线程的中断(interrupt())先于被中断的代码
  8. 对象的构造函数执行、结束先于finalize()方法
上一篇下一篇

猜你喜欢

热点阅读