WG21s Evolution Working Group is currently considering threads.
There are three more or less competing proposals that WG14
might be interested in.
- It is believed that threads cannot be implemented correctly
without at least some compiler support (Hans Boehm,
Cannot be Implemented as a Library),
so Lawrence Crowl suggests in WG21
a language-based solution with new keywords taken from the implementor namespace.
- One library-based proposal is the open-source
Boost Threads Library,
commercial versions of which are currently being shipped
by both Freescale and Dinkumware. The Dinkumware implementation has a C interface
described at the end of WG21
and its this
interface that might be of interest to WG14.
- There is also sentiment, but no formal paper, for that subset of
POSIX threads that can be implemented widely. As of this writing,
its not clear how large that subset would be. The problem is a
common belief that Pthreads cannot be implemented efficiently on one
In addition to those three, Hans Boehm, Doug Lea and Bill Pugh propose in WG21
a memory model and a lock-free atomics library to support a larger threads
Boehm, Lea and Pugh also contributed a paper, WG14
that was in our pre-Mont-Tremblant mailing; and Boehm has
links to a number of informative papers and the beginnings of a FAQ at
As this is clearly an area in which C/C++ compatibility is
absolutely essential, WG21s Evolution Working Group welcomes input from WG14;
and Bill Seymour has offered to take to the Evolution Working Group in Berlin any
discussion and straw poll results that WG14 wish to provide.