gpt4 book ai didi

multithreading - 基于 C++0x 线程标准构建的 Actors 实现

转载 作者:行者123 更新时间:2023-12-01 01:26:53 26 4
gpt4 key购买 nike

我有点失望地发现 C++0x并发标准似乎没有对消息传递 Actors 模型的任何 native 支持。

我缺少对此的任何支持吗?也许 future / promise 中有什么?是否有任何强大的社区努力在 C++0x 之上构建事实上的标准实现?线程标准?

最佳答案

目前我找到了两种可能的解决方案:Theronlibcppa .两者都基于 Boost 线程,因此应该可以轻松移植到 C++11 线程。两者都是由个人开发的。

主要是因为我先找到了它,而且因为它有非常好的文档,所以我继续尝试 Theron它工作得很好。我的测试应用程序不是特别适合 Actors,只需要与硬件内核一样多的 Actors,但我在 6 个内核上的 6 个线程下获得了大约 4.5 倍的加速,在 6 个内核上的 12 个线程和超线程下获得了 6 倍的加速。非常好,只需要几个小时就可以开始工作,而且我根本不需要接触线程或互斥锁。我还实现了一个产生数千个 Actor 的版本,并且运行良好,尽管此实现速度明显较慢。

我发现的唯一缺点是它不适用于进程间/机器间/分布式应用程序,而且它目前有点以 Windows 为中心(尽管我让它在 Mac 和 Linux 机器上运行没有太多麻烦)。

我还尝试了 libcppa 并得到了一个没有太多麻烦的玩具示例。 API 似乎不太稳定,当时文档很少,但我听说它最近已经充实了。

关于multithreading - 基于 C++0x 线程标准构建的 Actors 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7209131/

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