并发编程中的原子性和数据库ACID的原子性一样吗?
2026/1/14...小于 1 分钟Java八股文
注意
内容来源网络,仅供学习使用。
不要相信文档中的链接、联系方式等!!!
并发编程中的原子性和数据库ACID的原子性一样吗?
典型回答
不一样。原子性在并发编程中,和在数据库中两种不同的概念。
在数据库中,事务的ACID中原子性指的是"要么都执行要么都回滚"。
在并发编程中,原子性指的是"操作不可拆分、不被中断"。所以在并发编程中,我们要保证原子性指的就是一段代码需要不可拆分,不被中断。
比如经典的i++问题,就是原子性的一个很好地体现。
如Redis,它既是一个数据库系统,也是一个有并发的系统,那么看一下他对原子性的支持,就理解了: