在多用户系统中,数据库事务的并发执行是什么意思?为什么需要并发控制?
我对此感到困惑。有哪些非正式的并发控制例子可以提供帮助。
在多用户系统中,数据库事务的并发执行是什么意思?为什么需要并发控制?
我对此感到困惑。有哪些非正式的并发控制例子可以提供帮助。
在多用户系统中,数据库事务的并发执行意味着任意数量的用户可以同时使用同一个数据库。为了避免数据库的不一致性,需要进行并发控制。
下面是一个示例,展示了这种情况如何导致不一致性:
假设有两个用户Alice和Bob,他们都可以访问同一个银行账户。Alice想要存入100美元,而Bob想要取出200美元。假设账户里有500美元,如果他们同时执行操作,执行过程可能如下:
此时的新余额应该是$400,但是数据库处于不一致状态。
通过向Alice提供对数据库的临时“锁定”,并发控制可以防止不一致性。
好的,这很简单...比如说你有一家银行,同时有两个人尝试从一个余额为100欧元的账户中取出100欧元,这些操作是并发的。
你需要确保只有一个人成功取出100欧元。这就是并发处理。
我的英语不是很好,但我会尽力回答所提到的术语。
在我看来,这个动作将会非常快,以至于似乎同时由多个用户完成工作。同时进行工作意味着并行执行工作,但在并发情况下并不会发生这种情况。
并发
是指两个任务可以在重叠的时间段内启动、运行和完成。这并不一定意味着它们将同时运行。
例如:在单核机器上进行多任务处理。