gpt4 book ai didi

c++ - 使用 C++ async 进行并行编程

转载 作者:行者123 更新时间:2023-11-30 03:35:16 29 4
gpt4 key购买 nike

有什么方法可以设置使用异步函数可以创建的最大线程数(从 future 开始)?我更喜欢使用 async/future.get,因为它可以转换为 sync/spawn 多任务模型,这很常见在有关算法的教科书中(即Cormen)。我希望能够获得 T[p](使用 p 个处理器/线程完成程序的时间)。

最佳答案

不幸的是没有。 std::async 在为您提供线程创建方式的控制方面是出了名的有限。

您可以考虑改用 boost 线程池。这是(有点违反直觉)boost asio 的一部分,并使用 io_service 对象,即使/如果您实际上并未将其用于 I/O。

有了这个,控制使用的线程数就相当容易了,包括只使用一个。

当然,您可以从标准组件构建自己的线程池类。当然可能,但不是完全微不足道的任务。

关于c++ - 使用 C++ async 进行并行编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41399003/

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