【发布时间】:2012-05-19 13:02:35
【问题描述】:
通常,线程屏障(即 boost::barrier)用一个整数初始化,该整数表示必须调用 boost::barrier::wait 的线程数 - 所有线程在该点等待直到满足条件,然后所有线程继续。
是否有可能实现一个线程屏障,它可以在初始化后设置它的“waitCount”?
或者是否有一种等效的方法可以提供相同的行为?
即完成后:
int numWaiting = 2;
boost::barrier b( numWaiting );
没有设置新的 numWaiting 值的方法;
想要这样做的原因基本上是在屏障初始化之后但在等待条件满足之前,进程可用的线程数可能会增加。
【问题讨论】:
-
在代码和标题中你忘记了双“:”
-
谢谢,已经很晚了,我显然看到了双重 :)
标签: c++ multithreading boost synchronization boost-thread