分布式系统下,Java锁失效的问题
来源:7-4 J.U.C-BlockingQueue
![](http://img1.sycdn.imooc.com/user/533e4bd900011a1d02000200-100-100.jpg)
慕圣2201887
2019-07-28
总听人说分布式系统下,Java的锁会失效,其中原理不是很懂,那么是不是意味着,ConcurrentHashMap等线程安全的类也会变成不安全的类?Threadlocal可以线程封闭,是不是意味着它是安全的?
写回答
2回答
-
Jimin
2019-07-29
threadLocal本质上做到了线程间变量隔离,而线程安全根本是多个线程间更新共享的变量,因此threadLocal的机制可以保证它是线程安全的
00 -
Jimin
2019-07-29
你好,你说的锁失效指的是分布式锁,比如基于redis等实现,这时候会依赖第三方组件,依赖了第三方就会受第三方限制,比如锁对应的key意外被删或者到达过期时间失效了等等,会有一些相关的因素需要考虑。而你这里提到的这两个类,他们使用的属于synchronized这种jvm级别锁以及从原理上避免,不存在分布式场景那些问题。从根本上说,分布式场景和多线程并发是不同维度的问题,不是一回事。
00
相似问题