C ++ 11中是否有类似boost::thread_group
的内容?
我只是试图将我的程序从使用boost:thread
移植到C ++ 11线程,并且无法找到任何等效的东西。
答案 0 :(得分:27)
不,在C ++ 11中没有直接等同于boost::thread_group
的东西。如果你想要的只是一个容器,你可以使用std::vector<std::thread>
。然后,您可以使用新的for
语法或std::for_each
在每个元素上调用join()
,或者其他任何内容。
答案 1 :(得分:7)
thread_group
没有进入C ++ 11和C ++ 14标准。
但解决方法很简单:
std::vector<std::thread> grp;
// to create threads
grp.emplace_back(functor); // pass in the argument of std::thread()
void join_all() {
for (auto& thread : grp)
if (thread.joinable())
thread.join();
}