gpt4 book ai didi

c++ - c++中面向性能的消息回调解决方案

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:59:20 25 4
gpt4 key购买 nike

我正在尝试用 C++ 开发一个 p2p 分布式并发编程解决方案。为了获得更高的吞吐量,我观察到需要“来回”并发和可扩展的网络解决方案,就像 AKKA 提供的参与者模型一样。不幸的是,在 C++ 中没有可用的 actor 模型的可靠解决方案。 libcppa 可用,但只有 Beta 质量。在 zeroMQ 或 Boost.asio 等中是否有任何可扩展和并发的解决方案做同样的事情?我想以编程方式非常快速且以可扩展的方式执行以下操作。

假设我有一个包含 N 个节点的集群,其中包含一组单独的对象。当一个节点需要一个远程对象时,它会发送一个请求并返回一个对象作为响应。目前我按照以下方式进行:

Request req = Network.request(Node x, objectId id);
req.waitforResponse( ); //Implemented through Conc-Hashmap of requests and wait & signal
Object obj = req.response().getObject();
// Do sth with object.

我不想自己实现最后两行代码。我希望它由网络库本身完成。最好的解决方案是,如果我能在某种“ future ”数据结构中获得“req”对象,它只会在调用 getObject() 时阻塞。我认为这是一个非常普遍的问题,应该有一些好的开源解决方案可用于它。如果不是,请提出一些比基于 Concurrent hashmap(C++ Intel 线程)的方法更有效的解决方案。不幸的是,我大量的谷歌搜索并没有带来多少返回。

最佳答案

因为没有人回答。我只是更新我使用的解决方案。我将 MsgConnect 与我的线程池一起使用来处理事件和回调。

关于c++ - c++中面向性能的消息回调解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12023137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com