gpt4 book ai didi

C++11 async - 最佳线程数的管理是自动的吗?

转载 作者:行者123 更新时间:2023-11-28 02:29:34 25 4
gpt4 key购买 nike

如果我有一个任务使用 c++11 async<>/futures 生成 10,000 个异步线程。异步是否自动管理并发线程数?

具体来说,如果我有一台 8 核机器,我的程序会产生 10,000 个线程还是足够聪明地将它们排成 8 个批处理(或任何适合我的机器的批处理)?

最佳答案

这是一个实现质量问题,不是标准强制要求的。

但是,如果任何线程子集阻塞,则其余线程必须前进。所以它不能“运行 8,等待它们完成,然后开始下一个 8”。它可以监视那些线程的阻塞和/或同步通信,并且缺少那些不会启动新线程的线程。如果它们确实以线程安全的方式阻塞或读/写,则无限期地暂停(或不启动)其他线程是不合法的(我认为),而且绝对是个坏主意。

关于C++11 async - 最佳线程数的管理是自动的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29377196/

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