|
Boost : |
From: Matt Hurd (matt.hurd_at_[hidden])
Date: 2005-09-15 01:48:23
> On 15/09/05, Roland Schwarz <roland.schwarz_at_[hidden]> wrote:
> Matt Hurd schrieb:
>
> >> { // we wait until all threads are up
> >> lock_type lock(guard);
> >> while (global_number_of_threads <
> >> number_of_threads_for_test+1)
> >> cond.wait(lock);
> >> }
> >>
> >>
> >
> >I can't see why you get here? I might be missing something but you're
> >likely to end up with all threads waiting on conditions here...
> >
> This is intentionally, since I need to create a "thundering herd here".
Sorry I wasn't clear. I didn't get to looking at the thundering herd
bit in detail as according to me, my debugger agrees too, your main
thread is locked waiting before this loop.
That is, I don't get out of this loop:
> >> { // we wait until all threads are up
> >> lock_type lock(guard);
> >> while (global_number_of_threads <
> >> number_of_threads_for_test+1)
> >> cond.wait(lock);
> >> }
Which is what I was trying to explain but did a rather poor job.
matt.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk