Boost Thread和thread_group之间的区别

时间:2014-11-30 23:21:25

标签: c++ multithreading boost

我想知道boost :: thread和boost :: thread_group之间的区别是documentation状态。

  

thread_group提供了相关的线程集合   一些时尚。可以使用add_thread将新线程添加到组中   和create_thread成员函数。 thread_group不可复制或   可移动的。

除了线程分类之外,我不确定可能存在哪些其他差异,何时我更愿意使用其中一种。

1 个答案:

答案 0 :(得分:0)

线程组是......线程的

只要您想管理一组逻辑上共享目的,生命周期等的线程,就应该使用它。

E.g。当用一个工作线程池¹写一个任务队列时,线程的构造和破坏并不是微不足道的

  • 异常安全
  • 在所有代码路径中加入可连接线程

所以你要用thread_group自动获取所有这些机器。


¹请看这里的例子:Boost group_threads Maximal number of parallel thread