代码之家  ›  专栏  ›  技术社区  ›  Jonathan C Dickinson

远程锁定

  •  0
  • Jonathan C Dickinson  · 技术社区  · 17 年前

    我正在设计一个远程线程基本协议。目前我们只需要互斥(即监视器)和信号量。主要的想法是,不需要有一个中央权威——原语应该在对它们感兴趣的同龄人之间进行协调。

    几周来,我在纸上和脑子里反复思考了一些想法;但我认为我真的应该看看以前的文学作品。有吗?

    它将在XMPP上运行——但这是一个实现细节。我只是在寻找一个实际协议流的规范或者类似的规范——所以文献来源于什么协议并不重要。

    非常感谢。

    1 回复  |  直到 17 年前
        1
  •  1
  •   Sam Saffron James Allen    17 年前

    分布式互斥体是一种复杂的结构。您需要通过一个基于机器的实现来处理所有不存在的奇怪情况。特别是,您需要处理代理与组失去通信并且仍然在共享资源上持有锁的情况。除此之外,还有一些复杂的场景,其中您的组被断开,并且您获取了对资源的锁。当断开的组连接到一个大的组中时,您需要某种方法来协调这些锁,而这绝不是微不足道的。

    我强烈建议你去看看 messaging based middleware Erlang JBoss

    我还建议对您需要实现的特定分布式算法/数据结构发布单独的问题。在中间件库中,您可以通过开箱即用的实现摆脱困境,而中间件库可以根据您的需要进行调整。