c++ - 线程管理和与 boost::thread 的并行性

标签 c++ multithreading boost parallel-processing boost-thread

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

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

最佳答案

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

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

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

关于c++ - 线程管理和与 boost::thread 的并行性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17263350/

相关文章:

java - 为什么从非同步集合读取时会发生 ConcurrentModificationException

c++ - 为什么 protobuf::message::GetMessage 返回一个引用?

c++ - 使用共享指针的函数重载

c++ - 在线程上设置超时的任何体面的方法?

c++ - Boost Statechart - 本地转换

c++ - 构建 boost-python 示例

c++ - 我如何知道 Boost 的哪些部分已被弃用?

c++ - std::string 的声明导致 OpenGL 出现段错误

c++ - 如何检查可用USB端口的版本?

c++ - 有没有办法为任何函数编写通用代码,使其可以(异步地)执行并从线程池获得返回值?