有没有办法设置可以通过使用异步函数(从未来)创建的最大线程数量? 我更喜欢使用async / future.get,因为它可以转换为同步/生成多任务模型,这很常见 在Alghoritms(即Cormen)的教科书中。我希望能够获得T [p](使用p处理器/线程完成程序的时间)。
答案 0 :(得分:2)
不幸的是没有。 std::async
在控制方面非常有限,它为您提供了如何创建线程。
您可以考虑使用boost线程池。这(有点直觉)是boost asio的一部分,并且使用io_service
对象,即使/如果您实际上没有将它用于I / O.
有了这个,它可以很容易地控制使用的线程数,包括只使用一个。
当然,您可以从标准组件构建自己的线程池类。当然可能,但不是一个完全无关紧要的任务。