你为什么要使用分布式锁?(小白看了都会讲几句)

面试官:你为什么要采用分布式锁?

当面试官这样子问的时候,我自己的一个理解呢,就是先讲一下我们没有采用分布式锁之前是如何保证我们系统资源同一时刻只能被同一线程所访问的。

————————————————

我:分布式锁呢,是为了解决多个并发同时向同一个资源进行访问,而在我们没有使用分布式锁之前,在单体应用上,我们采用的是synchronized同步锁来解决这一种情况,多个并发过来的一瞬间,他们是不是都得看见一个标识,从而确定这个资源已经被占用了。

————————————————

这个资源就是被访问的资源,也被称之为“临界区域”。

————————————————

我:这个标识呢,就是锁,这个锁我们是使用的是堆内存中的数据来作为我们的锁,因为堆内存中的数据在单体应用上是对所有线程(并发)都可见的(堆内存不知道是什么的,建议学习10分钟,小白简单先了解一下即可。),而在多台服务器上,他们各自的堆内存数据都是不可见的,那这个时候,我们是不是就得出现一个所有机器都可以看得见的一个标识呢?

而这个标识,便是分布式锁,采用第三方缓存redis来实现,当然,也有其他方法,例如什么数据

库来实现分布式锁啊,zook来实现分布式锁等,建议大家呢都看一下。

面试官:就你了。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值