目录 什么是原子性问题 举例说明一下 怎么解决 自带原子性保证 synchronized 和 Lock锁 原子操作类型 最好的方法还是使用无锁编程 简单总结 参考 什么是原子性问题 原子性是指在一个操作中,cpu不可以在中途暂停然后再调度,要么一次执行完成,要么就不执行。 在Java中当我们讨论一个操作具有原子性问题,是一般就是指这个操作会被线程的随机调度打断而产生的一系列的问题。 举例说明一下 我们先来看一些例子,来了解什么是原子性的操作 a = true; //原子性 a = 5; //原子性 a = b; //非原子性,分两步完成,第一步加载b的值,第二步将b赋值给a a = b + 2; //非原子性,分三步完成 a