同时更新的问题
与文本编辑器等基本上一个人使用的“独立”应用程序不同,业务应用程序是以大量同时使用为前提的。
很多人同时使用的时候,和一个人使用的情况有很大的不同。那就是发生了“几乎同时编辑相同数据”的情况。
如果您几乎同时编辑相同的数据,如果您没有采取任何措施,您将采用稍后编辑的操作,并以微小的差异进行编辑。但是,那么也有不具合发生的情况。
当然,在进行更改后,您可以进行确认,但每次确认自己所做的更改是否顺利进行,这并不是很现实的。因此,为了防止这种同时更新而进行的是排他控制。
排他控制
排他控制是一种机制,让多个人不能同时更改相同的数据。使其无法更改,俗称“锁定”。
排他控制大致有以下两种方法。
- 悲观(Pessimistic)排他控制
- 乐观(Optimistic)排他控制
乐观排他控制
乐观排他控制不会在第一次获取更新数据时锁定数据。
相反,在更新数据之前,检查是否已被其他用户更新。此时将首次锁定对象数据。
然后,如果其他用户已经更新,则取消更新过程。我会告诉用户您取消了,并敦促您重新处理。
作为这种方法的特征