首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >黑白广播中的分布式ReadWrite锁

黑白广播中的分布式ReadWrite锁
EN

Stack Overflow用户
提问于 2014-10-25 03:26:43
回答 3查看 2.1K关注 0票数 4

正在寻找分布式可重入ReadWrite锁解决方案。有没有人知道它是已经实现了还是在工作中?

找到了引用它的旧线程,但没有解决方案:https://groups.google.com/forum/#!searchin/hazelcast/readwrite/hazelcast/YBQtgHPMdP0/xwoTYdu_Z58J

EN

回答 3

Stack Overflow用户

发布于 2014-10-27 18:04:29

Hazelcast没有实现ReadWrite锁,这是有充分理由的。我确实按照建议实现了自己的readwrite锁,但它太复杂了。

结果是读写锁需要过多的网络调用(性能下降)。并且仍然不能满足节点故障的需要(如果使用多个节点)

问题源于您需要使用信号量进行读锁定(因为传统的锁只能由锁定它们的线程解锁)。这样做的问题是,当一个节点失败时,它的所有锁都会被释放,但信号量不会被释放,因此会产生死锁。

我们有几个人在做这件事。而提到的问题只是冰山一角。如果有人找到了解决方案,请分享,但我不认为这是一个可行的问题来解决,因为可能的解决方案松散的性能和太复杂。

票数 3
EN

Stack Overflow用户

发布于 2014-10-27 15:12:20

它没有实现;但如果您确实需要它,您可以在通过spi公开的hazelcast低级基础设施之上构建它。

票数 0
EN

Stack Overflow用户

发布于 2017-06-14 02:45:36

这似乎是一个很好的问题解决方案:https://github.com/ThoughtWire/hazelcast-locks

它使用Hazelcast以分布式方式实现java.util.concurrent.locks.ReadWriteLock接口。描述起来有点复杂,但通过查看源代码是可以理解的。值得一评。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26554920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档