|
Boost : |
From: Matt Hurd (matt.hurd_at_[hidden])
Date: 2005-08-31 23:03:03
> On 01/09/05, David Abrahams <dave_at_[hidden]> wrote:
> Matt Hurd <matt.hurd_at_[hidden]> writes:
>
> Please, whatever you can do! But please do a fresh rewrite. That
> doesn't mean you can't look at the old code; you just have to type new
> characters ;-)
OK, I'll start afresh. The code should be the easy part, the
documentation will be the main body of work I suspect.
> > With such a restructure the various platforms could have different
> > maintainers to eliminate a bit of the difficulty of trying to support
> > such a cross platform library.
>
> Makes sense.
> > I could pull together a basic posix-based implementation which could
> > be used on win32 with the posix32 lib as well, though a native win32
> > should happen as most people would find the posix32 layer
> > unacceptable. Perhaps the current implementation can be refactored to
> > do this, but starting from a clean slate so that the work can be
> > licensed under the boost license might be best.
>
> Agree.
OK.
> > Level 0 - basic atomic ops, fencing, thread, mutex (normal, recursive,
> > rw), condition - to be replaced and updated with the work happening
> > elsewhere by Lea, Boehm etal. This should also replace the atomic ops
> > used by shared_ptr over time. Should be in a style that suits generic
> > programming via a consistent interface which is currently lacking.
> >
> > Level 1 - futures, threadables, message queues, etc, primitives along
> > the direction of Henney's work.
> >
> > Level 2 - Framework abstractions to architect single process,
> > multi-process, multi-computer workflows. Needs boost::net / comms to
> > reach its potential.
> >
> > Any thoughts?
>
> Not familiar enough with the library internals to comment.
A solid level 0 that can quickly be adapted to the direction of the
ISO C++ threading push and provide a foundation for the level 1 stuff
wil be goal I guess.
I expect there to be a level -1 that would support the level of
control that 95% of us don't need with a couple of dozen synch
primitives for various flavours of acquire release and the like. That
is not for now.
I'll add to the wiki or put up a page here at work to support the
effort by first thing next week.
Regards,
Matt.
matt_at_[hidden]
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk