Kesseli Pascal wrote:
Hey Ya
Thanks for the quick reply. Well, it would be more complicated in the way that the only condition that would keep in the loop would be the number of threads already arrived on this condition (numberOfThreadsReady). As soon as all threads have arrived, this number is set back to zero, which would keep the threads waiting if they re-checked this condition.
But I found out that Boost supports a much more suitable solution for this problem, namely the barrier class.
Right, and it's a bit trickier -- there's something called 'generation number' which is incremented when all thread arrive -- and the wait is actually on generation number change, so resetting of thread count is not a problem.
And, concerning the use of a barrier, I trust I am not mistaken that there is no loop needed when calling barrier.wait(), or is there :) ?
There is no need to wrap barrier.wait() in a loop. - Volodya