boost::thread 的线程管理和并行性

Posted

技术标签:

【中文标题】boost::thread 的线程管理和并行性【英文标题】:Thread Management and parallelism with boost::thread 【发布时间】:2013-06-23 17:25:21 【问题描述】:

我在理解 join_all() 函数的工作原理方面遇到了一些问题。我创建了一个 boost::thread_group 并在上面放置了一些线程。在我在线程组上使用 join_all() 之后。在我的理解中,它将使程序充分利用 CPU 线程——所有可以在特定时刻运行的线程——将是,其余的将等待轮到它们。

我说的对吗? 如果我错了 - join_all() 如何工作?以及如何使线程组以先进先出的顺序自动执行?

【问题讨论】:

【参考方案1】:

join_all() 阻塞发出线程,直到组内的所有线程都完成。

线程在您启动它们时正在执行。

你的问题太模糊了,不知道你真正想知道什么,我建议阅读参考页面的顶部,了解如何使用该模块。

【讨论】:

这就是我想知道的。非常感谢。

以上是关于boost::thread 的线程管理和并行性的主要内容,如果未能解决你的问题,请参考以下文章

OpenMP、MPI、POSIX 线程、std::thread、boost::thread 如何关联?

boost库:多线程

哪个库用于迭代 1M*1k 次的并行 for 循环,OpenMP 或 boost::thread?

指向 boost::thread 的指针

如何并行化使用 boost?

随机无限线程和各种错误,同时并行逐行读/写