使用C 异步进行并行编程

Parallel programming with c++ async

本文关键字:并行 编程 步进 异步 使用      更新时间:2023-10-16

是否有任何方法可以设置可以通过使用异步函数(从未来)创建的最大线程?我更喜欢使用async/future.get,因为它可以转化为同步/产卵多任务模型,这很常见在有关alghoritms的教科书中(即Cormen)。我希望能够获得T [P](使用P处理器/线程完成程序的时间)。

不幸的是。std::async在控件中相当限制了它为您提供的线程的创建方式。

您可以考虑使用Boost线程池。这是BOOST ASIO的一部分(有点与直觉上的),并且使用io_service对象,即使/如果您实际上不为I/O。

这样,很容易控制使用的线程数,包括仅使用一个。

当然,您可以从标准组件中构建自己的线程池类。当然可以,但不是一项完全琐碎的任务。