谈谈你对锁的理解(面试题)

**

谈谈你对锁的理解(面试题)

**
1、简述
首先要了解,锁肯定是保护数据的,而且是在并发的前提下,可能多个用户在同一时刻对这个数据进行修改,那么就可以用锁来保护与使用这个数据的安全。
2、共享锁与排它锁
**共享锁:**不会有堵塞的情况发生,允许多个用户同时读同一条数据
**排它锁:**一个用户在进行写的操作时,会阻塞其他的用户进行读写操作,这样就保证了在同一时刻只有一个用户在操作这条数据,防止了获取错误的资源。
3、悲观锁与乐观锁
**悲观锁:**在操作数据库的一条数据时,默认会认为在这个时候,可能会有其他的用户也会对这个数据进行操作(增删改),这样就会导致最终的数据不一致或者出现偏差,那么这个时候就会对这条数据进行加锁,用来保障这个线程的安全性。
**乐观锁:**在操作数据库的一条数据时,默认不会有人来进行干扰,也就是不会有其它用户会在同一时刻对这条数据进行操作,所以就不会加锁。
4、死锁与活锁
**死锁:**当有a、b两个线程时,a线程有b线程所需要的依赖,b线程也有a线程所需要的依赖,必须获取对方线程的依赖才能结束当前的线程任务,但是a、b两个线程都是加了锁的,没办法在线程结束前互相访问。
**活锁:**线程所执行的任务没有任何的问题且也未被阻塞,但是一些条件没有被满足,就会导致一直重连、失败、重连、失败…
*

若有其他补充或建议可私聊,大家一起沟通!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值