gpt4 book ai didi

c++ - 如何实现动态线程Boost::Barrier?

转载 作者:太空宇宙 更新时间:2023-11-04 12:09:21 25 4
gpt4 key购买 nike

通常,线程屏障(即 boost::barrier)用一个整数初始化,该整数表示必须调用 boost::barrier::wait 的线程数 - 所有线程都在该点等待,直到满足条件,然后所有线程继续。

是否可以实现一个线程屏障,它可以在初始化后设置其“waitCount”?

或者是否有提供相同行为的等效方法?

即完成后:

int numWaiting = 2;
boost::barrier b( numWaiting );

没有设置新的 numWaiting 值的方法;

想要这样做的原因基本上是进程可用的线程数可能会在屏障初始化之后但在满足等待条件之前增加。

最佳答案

您可以将此类行为添加到基于 boost::mutex 的简单屏障实现中。请参阅此处的代码:http://code.google.com/p/fengine/source/browse/trunk/src/engine/misc/barrier.hpp

关于c++ - 如何实现动态线程Boost::Barrier?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10542774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com