如何改进我的多线程应用程序?

时间:2017-03-19 10:29:10

标签: multithreading

我编写了一个使用多线程同时加载图像的应用程序,但我觉得有提高应用程序质量的空间。我想知道如何有效地使用thread :: hardware_concurrency()函数而不是这样做:

std::thread* bmpThread = new std::thread[1000];

似乎每当我使用thread :: hardware_concurrency()时,我得到的返回值大约为16。但是,用户可以一次选择16个以上的图像,这个问题的理想解决方案是什么?

1 个答案:

答案 0 :(得分:1)

也许您可以使用ThreadPool重用旧线程而不是每次都创建新线程:)这样,如果您的程序被重载,则只创建适当数量的线程(使用pool.schedule(..)而不是创建新线程)