Meyer, OO and concurrency

Taj Khattra <>
Mon Jul 18 12:36:44 CEST 2005


On 7/14/05, Joe Armstrong (AL/EAB) <> wrote:
> Threads/process in C++ are usually not C++ Threads or processes but thinly disguised OS
> threads or processes.
> 
> The problem with this is that the semantics of the program is *amazingly* UNDEFINED.

from http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1680.pdf:

    ``Unfortunately, programming multithreaded applications of any
kind in C++ remains a black art. Properties critical for reliable,
efficient, and correct multithreaded execution are left unspecified.
[...] many questions that programmers have about how to predict and
control multithreaded code simply do not have answers. Superstition,
myths, bad advice, and "hey, it worked for me" stories are rampant.''

this is due to the lack of a clearly specified shared memory model (a
la java, until jsr-133) in the presence of multiple threads and
instruction re-orderings due to compiler and processor
"optimizations".

follow the links at http://www.hpl.hp.com/personal/Hans_Boehm/c++mm/
for the gory details, if you dare.  :)



More information about the erlang-questions mailing list