java并发编程提纲

100 阅读1分钟

一、并发的核心思想:

利用现代的多核CPU,同时对一个job进行拆分、处理。避免1个CPU吭哧吭哧一直做工。

二、并发在java的抽象:

java中万物皆对象,

单核CPU的一段时间片,及其CPU附属的寄存器、1、2、3级缓存等资源,被抽象成对象Thread。

三、并发常见的问题:

1. 线程的执行顺序不如预期

  • 解决思路:todo

2. 数据的读写不如预期(线程安全问题)

线程安全问题的触发条件:

  • 多线程竞争
  • 有共享数据(局部变量是线程私有的)
  • 有多条语句操作共享数据
  • 单条语句本身非原子操作(比如i++)
  • 解决思路:同一时间只能有1个线程修改数据(加锁)

jvm锁分为两大流派:

  • synchronized
  • CAS + AQS