C++ 线程池

C++ Thread Pool(C++ 线程池)

本文介绍了C++ 线程池的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在生产代码中使用 C++ 的线程池的好的开源实现是什么(类似于 boost)?

What is a good open source implementation of a thread pool for C++ to use in production code (something like boost)?

请提供您自己的示例代码或示例代码用法的链接.

Please provide either your own example code or a link to example code usage.

推荐答案

我认为它仍然不被 Boost 接受,但是一个很好的起点:线程池.一些用法示例,来自网站:

I think it is still not accepted into Boost, but a good staring point: threadpool. Some example of usage, from the web site:

#include "threadpool.hpp"

using namespace boost::threadpool;

// Some example tasks
void first_task()
{
  ...
}

void second_task()
{
  ...
}

void third_task()
{
  ...
}

void execute_with_threadpool()
{
  // Create a thread pool.
  pool tp(2);

  // Add some tasks to the pool.
  tp.schedule(&first_task);
  tp.schedule(&second_task);
  tp.schedule(&third_task);

  // Leave this function and wait until all tasks are finished.
}

池的参数2"表示线程数.在这种情况下,tp 的销毁等待所有线程完成.

The argument "2" to the pool indicates the number of threads. In this case, the destruction of tp waits for all threads to finish.

这篇关于C++ 线程池的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:C++ 线程池

基础教程推荐