要使用boost::thread_group
执行固定数量的并行线程,您可以按照以下步骤操作:
#include<boost/thread.hpp>
boost::thread_group
对象,用于管理线程池:boost::thread_group thread_group;
void thread_function() {
// 在这里编写您的线程任务
}
boost::thread_group::create_thread
方法创建指定数量的线程,并将它们添加到线程组中:const int num_threads = 4; // 设置您想要执行的并行线程数量
for (int i = 0; i < num_threads; ++i) {
thread_group.create_thread(thread_function);
}
boost::thread_group::join_all
方法等待所有线程完成它们的任务:thread_group.join_all();
完整的示例代码如下:
#include<iostream>
#include<boost/thread.hpp>
void thread_function() {
// 在这里编写您的线程任务
std::cout << "Hello from thread "<< boost::this_thread::get_id()<< std::endl;
}
int main() {
boost::thread_group thread_group;
const int num_threads = 4;
for (int i = 0; i < num_threads; ++i) {
thread_group.create_thread(thread_function);
}
thread_group.join_all();
return 0;
}
这个示例代码将创建一个包含4个线程的线程组,并在每个线程上执行thread_function
函数。join_all
方法将阻塞主线程,直到所有线程完成它们的任务。
领取专属 10元无门槛券
手把手带您无忧上云