1.1 并发简史

1.2 线程的优势

1.2.1 发挥多处理器的强大能力

1.2.2 建模的简单性

在特定的同步位置进行交互.

1.2.3 异步事件的简化处理

1.2.4 响应更灵敏的用户界面

1.3 线程带来的风险

1.3.1 安全性问题

image.png

value++ 操作不是原子的:

  • 读取 value
  • 将 value + 1
  • 将结果写入 value

image.png

image.png

1.3.2 活跃性问题

  • 死锁
  • 饥饿
  • 活锁

1.3.3 性能问题

  • 上下文切换, 丢失局部性, 线程

1.4 线程无处不在

  • 框架会创建线程