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

对应的链接https://www.cnblogs.com/c-h-y/p/9391602.html

周末想细细看一下。

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

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

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

戴氏分布式情况下呢,就变为了多进程多线程,而你的jjvm有且仅有一个(也不知道为啥要说jvm)

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

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

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

版权声明:本文为c-h-y原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/c-h-y/p/9498382.html