在隔离(数据库系统)的维基百科页面上,在解释脏读时,它说:
在 READ UNCOMMITTED 隔离级别中唯一可以防止的是更新在结果中出现乱序;也就是说,较早的更新将始终出现在较晚的更新之前的结果集中。
我很困惑在哪种情况下更新会在结果中出现乱序。我认为这是不可能的,而不是 READ UNCOMMITTED 隔离级别避免了什么?
最近我正在学习事务数据库中的并发控制技术。但是,我对操作系统和事务数据库中的并发控制之间的差异感到非常困惑。
在我的理解中,数据库文献中介绍的并发控制技术可以用于多线程程序,其线程之间共享一些变量,反之亦然。多线程程序中用于在线程之间共享变量的技术也可以在数据库中用于并发控制。
为什么我们要费心在数据库文献和操作系统中以不同的方式介绍这一点?