|
Boost : |
From: Levente Farkas (lfarkas_at_[hidden])
Date: 2000-08-18 06:47:24
--- In boost_at_[hidden], "William Kempf" <sirwillard_at_m...> wrote:
> Someone else wanted to start with the primitive types that should
be
> defined, so I'll start there. The primitives I think that should
be
> defined as class objects:
>
> thread
> mutex
> semaphore
> condition
>
> That's it. No more, no less. Let me address each and why I think
first of all I think we realy need a _good_ C++ (which means real c++)
thread library. I looking for a good one for many times and I collect
a few:
- http://www.cs.wustl.edu/~schmidt/patterns-ace.html
(also interesing to read
http://www.cs.wustl.edu/~schmidt/patterns.html)
- http://www.gncz.cz/kra/README.html
- http://www.objectspace.com/products/cppFoundations.asp
this is a very good one (at least the design philosophy), but has
some implementation weekness it useful to see other toolkits, like
http://www.objectspace.com/products/prodCPP.asp
- http://www.roguewave.com/products/threads/
- http://www.ooc.com/jtc/
this's the java thread model and real good one.
- http://cplusplus.sourceforge.net/
- http://threads.sourceforge.net/
- http://world.std.com/~jimf/papers/c++sync/c++sync.html
- http://www.cs.wisc.edu/~stanis/tthread.html
- http://user.tninet.se/~dpn659b/threads.html
- http://zthread.sourceforge.net/
I agree with Dietmar (as usualy) that we have to
- A clear statement of our goal.
- A decription of techniques, idioms, pitfalls, etc. related to
achieving this goal.
- A set of interfaces used by those techniques and idioms.
- Possibly a simple [demo] implementation.
before any further work. IMHO we need a thread, mutex and condition
first. about the semaphore, it's depend what do you mean by semaphore?
on win32 the mutex is system wide and critical-section is process
wide, on unix mutex is process wide and semaphore are system wide,
but I think these are just different type of mutecies.
about rw-semaphore. yes we need and more monitor, barrier, auto
guards, timers and more, but first at least the basic have to be
properly defined, it'd be a nightmare the write something useless
(like valarray in std). another thing that posix and win32 thread api
are very different so it'd have to designed very carefully in order
not to loose performance and feature and still keep platform
independent (at least on interface level).
this is a must and an urgent must before the programming community
getting so spread that it won't be possible to keep them together.
-- Levente
"The only thing worse than not knowing the truth is
ruining the bliss of ignorance."
http://petition.eurolinux.org/index_html
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk