悲观锁和乐观锁

    乐观锁: 总是认为不会产生并发问题,每次去取数据的时候总认为不会有其他线程对数据进行修改,因此不会上锁,但是在更新时会判断其他线程在这之前有没有对数据进行修改。

    悲观锁: 总是假设最坏的情况,每次取数据时都认为其他线程会修改,所以都会加锁(读锁、写锁、行锁等),当其他线程想要访问数据时,都需要阻塞挂起。可以依靠数据库实现,如行锁、读锁和写锁等,都是在操作之前加锁。

    读取频繁使用乐观锁,写入频繁使用悲观锁。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数...
    whynotybb阅读 715评论 0 1
  • 悲观锁 悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所...
    忘净空阅读 785评论 0 2
  • 前文我们提到了表锁,行锁的这些概念,今天我们来谈谈mysql的悲观锁和乐观锁。何为乐观锁?顾名思义,乐观锁就是乐观...
    孙小胖2018阅读 469评论 0 0
  • 概念 乐观锁也叫共享锁、读锁,事务T给对象A加了乐观锁,则其他事务还可以给对象A加乐观锁。但不能加被排他锁。也就是...
    2like99阅读 1,148评论 0 3
  • 读完钱钟书的《围城》之后再读杨绛的《洗澡》,便觉得他们夫妻真的很像,只是钱钟书的讽刺过于尖锐露骨,尤其是作为女性,...
    成大侠阅读 1,293评论 2 8