分布式锁的理解,java自带的锁为什么会失效

前段时间在发送短信的代码块上通过网上找的工具类基于Redis实现了分布式锁的功能

对应的链接https://www.cnblogs.com/chywx/p/9391602.html

周末想细细看一下。

之后郁闷的是为什么java自带的为什么在分布式的环境下就会失效。(都是自己的low逼见解)

想想:单机情况下,使用Syncronized或者lock实现锁机制,没啥问题,单进程多线程实现同步没毛病

在单进程的系统中,当存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步,使其在修改这种变量时能够线性执行消除并发修改变量。

戴氏分布式情况下呢,就变为了多进程多线程,而你的jvm能控制的住吗?(也不知道为啥要说jvm)

这个时候java自带的锁就会实现不了并发功能了。

不过可以使用其他工具,比如Redis,天生单线程。(为啥天生,人就是这么设计的呗)

是想即使是多进程,都需要通过Redis,然而Redis天生线程安全,还有毛病么。

转载于:https://www.cnblogs.com/chywx/p/9498382.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值