分布式锁和悲观锁

分布式锁和悲观锁是两种不同的锁机制,用于解决不同的并发控制问题。

分布式锁是一种在分布式系统中实现同步的机制,用于控制多个进程或节点对共享资源的访问。分布式锁通常使用共享存储或分布式协调服务(如ZooKeeper)来实现,以保证在分布式环境下的可靠性和一致性。分布式锁的实现方式有很多种,如基于数据库、基于缓存、基于文件系统等。分布式锁通常用于解决分布式系统中的并发问题,如分布式任务调度、分布式计算等。

悲观锁是一种悲观地认为并发访问会导致数据不一致的锁机制,常用于解决读写冲突的问题。悲观锁通常在访问共享资源之前先获取锁,然后进行操作,操作完成后再释放锁。悲观锁的实现方式有很多种,如数据库的行级锁、Java中的synchronized关键字、C++中的互斥量等。悲观锁的缺点是会降低并发性能,因为它会导致许多线程等待锁的释放。

需要注意的是,分布式锁和悲观锁虽然都是锁机制,但它们的应用场景和实现方式不同。分布式锁用于解决分布式环境下的并发问题,而悲观锁用于解决读写冲突的问题。在具体的应用场景中,需要根据实际情况选择合适的锁机制。


需要注意的是:
分布式锁也可以是悲观锁的一种实现方式。悲观锁是指在操作数据之前,先获取数据的锁,防止其他并发操作对数据进行修改,从而保证数据的一致性和可靠性。在分布式环境下,多个节点需要对同一个数据进行操作时,为了避免数据的并发修改,可以使用分布式锁来实现悲观锁。分布式锁可以通过各种技术手段来保证在分布式环境下的锁的正确性和一致性,如基于数据库、Zookeeper、Redis等实现方式。

全部评论
分布式锁不也可以是悲观锁?
点赞 回复 分享
发布于 2023-07-17 10:35 重庆

相关推荐

面的时候感觉面试官问的方向其实已经不匹配了,感觉要挂,但是最后面完还是过了,运气比较好吧,遂记录1. 自我介绍2. 算法题:(1)二叉树最近公共祖先(2)一个班40人,分数都在0-100,小明分数为60分,小明可以挑任意数量的人数和自己一组,要使得这一组的平均分尽可能高,该怎么选,输出最后的人数3. 实习业务及代码实现细节(实现细节有些记不清了,mark一下)4. go的defer和recover5. recover里一般塞什么东西(原话好像是这样,有点久没用了随口胡诌了点,mark一下)6. go的GMP模型介绍7. 如果一个内核线程阻塞了,那go是怎么调度(现场猜的,mark一下)8. MySQL的事务隔离级别以及存在的问题9. MySQL的主从数据同步怎么做10. binlog里面具体是什么东西(记不太清了,凭记忆答了一点,mark一下)11. 可重复读级别下幻读现象的详细解释12. select for update会有什么效果13. 分布式事务了解吗(不了解)14. 分布式锁介绍一下15. redis怎么实现分布式锁(redis有点久没看了,答得不是很全好像,mark一下)16. 假如业务执行还没完,分布式锁就被释放了怎么办(依稀记得好像也是个八股,有点印象,答了大致的思路但是细节记不清了,mark一下)17. 介绍一下https18. https如果有中间人介入怎么办19. CA证书信任链问题20. 平时怎么用ai,用来干什么(问到点了,开始大吹特吹AI Coding工程化实践经验)总的来讲实习业务答得还行,但是实现细节有瑕疵,八股也就mysql和计网好点,其他烂完了,进二面真是运气,球球不要给我一张饼再打我一巴掌把我扇醒🐀三月份能投的都投了,差不多挂完了,tx差不多是最后的希望了
查看21道真题和解析
点赞 评论 收藏
分享
评论
4
7
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务