Date: 2001-07-02 14:26:03
--- In boost_at_y..., "Peter Dimov" <pdimov_at_m...> wrote:
> From: <williamkempf_at_h...>
> > No, it really doesn't. Remember, the original pattern didn't use
> > thread group, it used an array of std::auto_ptrs, and it's ease of
> > use was nearly identical.
> An array of auto_ptrs isn't as flexible as a thread_group. It's
> and can't have threads dynamically added on the fly.
> > > You didn't say anything about sharing a thread_group between
> > threads, so a
> > > non-synchronized thread_group still matches the ad-hoc
> > specification given
> > > in your 'void foo()' example.
> > True... what I had in mind and what was obvious from the posts are
> > two different things.
> Implementing a thread-safe thread_group is a completely different
> > > And explicit management is error prone, as you have
> > Explicit management isn't error prone. Manual management is. The
> > std::auto_ptr<> uses explicit management, and errors don't occur
> > because of this.
> So why didn't you use "explicit management" in creating the
> but opted for "manual management" instead?
It does explicit management. The implementation uses manual
management, but that's neither here nor there in this argument. Note
that std::auto_ptr also uses manual memory management in the
Boost list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk