【发布时间】:2017-04-25 15:13:47
【问题描述】:
例如,我有两个线程,t1 和 t2。我想等待t1 或 t2 完成。这可能吗?
如果我有一系列线程,比如std::vector<std::thread>,我该怎么做?
【问题讨论】:
-
您有 minimal reproducible example 证明您尝试自己解决这个问题吗?
-
我不知道有任何标准机制可以直接执行此操作。你真正想解决什么问题?或许还有其他解决方案。
-
@KerrekSB 将阻塞所有线程。我认为,如果您想阻止 一个 线程(n 个)坚持使用
std::thread,您将需要一个外部变量(如std::atomic_bool)作为信号。 -
啊,对,你只想阻塞直到第一个线程完成......没关系!
-
@t123yh 也许是 POSIX ?
标签: c++ multithreading c++11