C++ - 处理字符串的最佳线程数

C++ - Optimal number of threads for processing string

我有一个长度为 N 的 std::string,我想将所有长度为 K 的子字符串插入 std::set 容器,使用线程。我应该使用多少个 std::thread 或 pthread_t 个对象?

考虑 N = 500,000 和 K = 3。

使用 ThreadPool

使用起来非常简单,您只需要include "ThreadPool.h"并且可以根据可用的核心数设置最大线程数。您的代码应包含以下代码段。

 int max_threads = std::thread::hardware_concurrency();
 ThreadPool pool(max_threads);
 auto result = pool.enqueue(func,params); 

这里func是要调用的函数,params是参数,返回值会存放在result.