我正在使用一个中等大小的C++代码库,它目前完全是单线程的.然而,现在是追求并发性和并行性以获得性能提升的时候了.我对Google的Go编程语言的并发模型非常感兴趣,它具有非常轻量级的Goroutines和通信通道系统.
遗憾的是,由于各种完全合理的原因,该项目需要保留在C++中.所以我的问题是:有没有接近Go并行范例的C++库?具体地说,是否有近似的Goroutine或Go通道可用于C++?我的备用计划只是使用Boost::Thread.
该应用程序是针对金融预测领域的一个长期运行的专有模拟.它通常受CPU限制,但当新数据可用时,它也会在IO上被阻止.所涉及的许多计算不依赖于以前的结果,可以相当容易地并行运行.能够在分布式环境中运行应用程序是一个长期目标,但不是一个需要立即解决的问题.