当前位置:Gxlcms > 数据库问题 > 多用户同时操作一条Mysql记录问题

多用户同时操作一条Mysql记录问题

时间:2021-07-01 10:21:17 帮助过:26人阅读

悲观锁

悲观锁:每次去取数据,很悲观,都觉得会被别人修改,所以在拿数据的时候都会上锁。

简言之,共享资源每次都只给一个线程使用,其他线程阻塞,等第一个线程用完后再把资源转让给其他线程。

synchronized和ReentranLock等都是悲观锁思想的体现。 

乐观锁:每次去取数据,都很乐观,觉得不会被被人修改。

因此每次都不上锁,但是在更新的时候,就会看别人有没有在这期间去更新这个数据,如果有更新就重新获取,再进行判断,一直循环,直到拿到没有被修改过的数据。

CAS(Compare and Swap 比较并交换)就是乐观锁的一种实现方式。

 

参考

Mysql 事务及数据的一致性处理

https://segmentfault.com/a/1190000012469586

 CAS乐观锁解决并发问题的一次实践

https://www.javazhiyin.com/41189.html

 

多用户同时操作一条Mysql记录问题

标签:nbsp   乐观锁   col   mysql 事务   个数   swap   mys   覆盖   线程   

人气教程排行