Topic: Concurrency & threads - possible approach


Author: no.spam@no.spam.com (Maciej Sobczak)
Date: Sat, 30 Apr 2005 16:34:29 GMT
Raw View
Hi,

A couple of days ago I wrote a very short article in which I express my
thoughts about how the threading support could look like in C++:

http://www.msobczak.com/prog/articles/threadscpp.html

(it does not deal with memory model end friends, but with how we want to
see threads from the usage point of view)

I posted it also on comp.programming.threads and I was not killed
immediately after that. I think that my concerns might be of some
interest to those who are concerned with C++ standardization efforts
w.r.t. multithreading.

The motivation for writing this was that I have some reservations about
library-only-based approach. I think that the existence of concurrency
should be acknowledged at the level of control statements.

Regards,

--
Maciej Sobczak : http://www.msobczak.com/
Programming    : http://www.msobczak.com/prog/

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html                       ]





Author: Francis Glassborow <francis@robinton.demon.co.uk>
Date: Sun, 01 May 2005 02:30:01 GMT
Raw View
In article <d4t0gl$1rn$1@sunnews.cern.ch>, Maciej Sobczak
<no.spam@no.spam.com> writes
>Hi,
>
>A couple of days ago I wrote a very short article in which I express my
>thoughts about how the threading support could look like in C++:

I am not sure that you are actually talking about threads as opposed to
support for concurrency. Some support for SIMD and MIMD might be worth
consideration but I doubt that it will be in the next release of C++



--
Francis Glassborow      ACCU
Author of 'You Can Do It!' see http://www.spellen.org/youcandoit
For project ideas and contributions: http://www.spellen.org/youcandoit/projects

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html                       ]




Author: no.spam@no.spam.com (Maciej Sobczak)
Date: Mon, 2 May 2005 19:59:48 GMT
Raw View
Francis Glassborow wrote:

> I am not sure that you are actually talking about threads as opposed to
> support for concurrency.

I'm interested in multithreading as a way to achieve concurrency.
To avoid terminology problems, the goal is simply the same as that of
Boost.Threads. Some micro-opimization techniques (like direct execution
on multicore CPUs) might be possible, but I do not focus on them.

The important point is the concept of having separate control statements
to say "run this in a separate thread".

--
Maciej Sobczak : http://www.msobczak.com/
Programming    : http://www.msobczak.com/prog/

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html                       ]





Author: nagle@animats.com (John Nagle)
Date: Mon, 2 May 2005 19:59:13 GMT
Raw View
Maciej Sobczak wrote:
> Hi,
>
> A couple of days ago I wrote a very short article in which I express my
> thoughts about how the threading support could look like in C++:
>
> http://www.msobczak.com/prog/articles/threadscpp.html

    This doesn't address any of the real problems that should
be addressed at the language level.  The article says
"The library support is needed in terms of providing some set of
synchronization object".  But that's the real problem.
Creating threads is well worked out, and isn't a serious
problem.  Synchronization is.

    If the language is to support threading properly, issues
such as "exactly when is control active inside an object",
"what atomic operations should be supported", and
"which lock controls access to which data" need to be
addressed. C++ provides no assistance whatsoever in
those areas today, and they're the major sources of
defects in threaded programs.

    John Nagle
    Animats

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html                       ]