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
.
我有一个长度为 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
.