如何创建迭代的boost线程?

时间:2013-05-18 17:13:45

标签: multithreading loops boost iteration

我正在使用C ++中的Boost线程库,我想创建不同的线程来处理一些数据桶。首先,我将数据加载到较小的桶中(每个100个元素)并将每个桶分配给一个线程。可用的线程是四个,所以我避免在释放新线程之前创建新线程。伪代码如下:

while(pool1->has_next()){

    int tmp = pool->get_next();
    pool2->pushback(tmp);

    if(pool2->size()%100==0){

        while(working_threads>=4){
            wait();
        }
        new thread (proc(pool2));
    }
    pool2->clear();
}

如何使用Boost线程完成此操作?

1 个答案:

答案 0 :(得分:1)

听起来你想要的是一个线程池或线程组,我在github上有一个例子:

git@github.com:cdesjardins / JobBatcher.git