标签:必须 阻塞 href 就是 一个 功能 京东 mys 分享
【原文】https://www.toutiao.com/i6595305814087434760/
悲观锁中的排它锁。
该解决办法就是通过排它锁:for update进行操作
上述SQL可以通过下图进行展现:
3.线程1:在A到D的这段时间里独占一行,进行操作;线程2因为无法获取到锁,所以只能 在B到D这段时间内进行阻塞等待。
4.线程1:在D时刻提交事务,释放了锁。
5.线程2:在C时刻重新获取此行的锁,然后进行后续操作,直到E时刻释放锁。
减库存操作前,在查询的时候通过for update将需要操作的列锁住,直到当前线程操作完成,将事务提交后,其他线程的事务才能接着进行操作。
这就是一种独占思维:每一次只允许一个线程进行操作,其他想操作的线程,必须等我处理完后才能进行处理。
老样子,我在这里留点思考题,感兴趣的同学可以在评论区谈谈想法:
标签:必须 阻塞 href 就是 一个 功能 京东 mys 分享
原文地址:https://www.cnblogs.com/ftl1012/p/9567465.html