gpt4 book ai didi

c++ - 值得产生一个新线程的最小工作量

转载 作者:行者123 更新时间:2023-11-28 06:18:49 24 4
gpt4 key购买 nike

我如何估算值得生成新线程的最小工作量?我主要对 C++11 std::thread 感兴趣。

详细解释。我试图加快我们的应用程序,所以我继续并行化一个低级函数,该函数在循环中执行非常少且简单的操作(例如不等式和赋值)。不过,此功能在应用程序中是最耗时的。因此,我尝试并行化为循环的两个连续索引生成两个线程的循环,但这会降低性能(我不能确切地说出减速因素,但它可能在 100 倍左右)。

最佳答案

产生一个新线程通常是一项昂贵的操作(在 Windows 中可能更多,在 Linux 中它更便宜)。一种替代方法是使用线程池设计模式。这使得重用现有线程成为可能,而无需一直创建/销毁它们。

如果不了解应用程序运行的所用架构和环境,则很难评估使用多线程时的最小工作量。一些经验或实验会很有用。

关于c++ - 值得产生一个新线程的最小工作量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29693131/

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