concurrency - 什么是并发冲突?

标签 concurrency

什么是 SQL 数据库的并发冲突?

最佳答案

假设您有一条 SQL 语句,例如 UPDATE table SET a = a + 1 WHERE ...,它对应于以下代码:

read a
a = a + 1
write a

假设两个客户端 A 和 B 同时执行此操作。可能会发生以下情况(时间从上到下流动):

   A           B
read a     
            read a
a = a + 1
write a
            a = a + 1
            write a

会发生什么? a 只递增一次,尽管它应该递增两次。这是经典的并发冲突。为避免此类冲突,数据库使用事务

关于concurrency - 什么是并发冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2199559/

相关文章:

c - pthread_join() 和 pthread_exit()

使用 WSHttpBinding 时 WCF 并发请求堆积在服务器上

iphone - 核心数据保存崩溃

java - 让线程等待

c - UNIX 可移植原子操作

Scala - future 不运行

java - 我的代码线程不安全吗?

java - java中的并发双向映射

java - 如何保证Java方法中2条语句顺序完整执行

python - 为什么在python中执行惰性初始化是线程安全的?