分布式系统下,Java锁失效的问题

来源:7-4 J.U.C-BlockingQueue

慕圣2201887

2019-07-28

总听人说分布式系统下,Java的锁会失效,其中原理不是很懂,那么是不是意味着,ConcurrentHashMap等线程安全的类也会变成不安全的类?Threadlocal可以线程封闭,是不是意味着它是安全的?

写回答

2回答

Jimin

2019-07-29

threadLocal本质上做到了线程间变量隔离,而线程安全根本是多个线程间更新共享的变量,因此threadLocal的机制可以保证它是线程安全的

0
0

Jimin

2019-07-29

你好,你说的锁失效指的是分布式锁,比如基于redis等实现,这时候会依赖第三方组件,依赖了第三方就会受第三方限制,比如锁对应的key意外被删或者到达过期时间失效了等等,会有一些相关的因素需要考虑。而你这里提到的这两个类,他们使用的属于synchronized这种jvm级别锁以及从原理上避免,不存在分布式场景那些问题。从根本上说,分布式场景和多线程并发是不同维度的问题,不是一回事。

0
0

Java高并发编程,构建并发知识体系,提升面试成功率

构建完整并发与高并发知识体系,倍增高薪面试成功率!

3923 学习 · 832 问题

查看课程