我在项目列表上运行QTConcurrent :: Map来执行一些图像处理任务。这在只有几个线程的机器上运行良好,但由于处理代码的内存要求而在具有大量线程的机器上遇到问题。
是否可以为QTConcurrent操作设置最大并发线程数,或者我是否需要使用QThreadPool重新编码?我有更多控制权?
感谢您的任何建议。
答案 0 :(得分:14)
QtConcurrent::map
使用全局线程池。
您可以使用QThreadPool::globalInstance()->setMaxThreadCount(n)
更改其主题计数。