我今天参加了一个采访,并遇到了一个有趣的问题:
如果两个带UPDATE操作的请求将在sql中并发执行,会出现什么问题?我知道我们对resolve有乐观的锁定和悲观锁定方法。我只是完全坚持这个想法!
乐观锁定:在此期间,当我检查时间戳(其中mytimestamp = oldtimestamp)时。如果请求1和请求2将在同一时间到达此点(我的意思是完全准确),会发生什么? =>我被困在这一点上!
悲观锁定 :(在独占锁定模式下)
2.1。当客户端失去与服务器的连接时,锁仍然存在于Db中,而其他客户端无法做任何事情=>如何解决这类问题?
2.2。并且当请求到达并获得相同的锁定时(在读取时刻)=完全相同的时间=>在这种情况下会发生什么?
请就此问题提出建议,因为我对如何在实时场景中解决此问题非常感兴趣。
如果您有任何疑问,请添加到评论部分。
修改
我也提到this article。请参阅我的附件以获得更清晰的信息。
谢谢。