定义

原子性是指一个操作是不可分割的整体,要么全部执行成功,要么全部不执行,不会出现部分执行的中间状态。

就像银行转账,钱从 A 账户扣除并增加到 B 账户必须是一个原子操作。如果扣款成功但入账失败,系统必须回滚到转账前的状态,仿佛什么都没发生过。

  • 并发编程:原子操作不会被线程调度机制打断,其他线程无法看到操作的中间状态。
  • 数据库事务:它是 ACID 特性之一(All or Nothing),保证数据的一致性。

参考