D. Richard Hipp wrote:
> If you choose to use threads in your application, that means
> that your application will probably run slower and contain
> more bugs, especially bugs that are hard to reproduce and harder
> to fix.

I totally agree with that statement! Threaded programs are very hard to
get right. There is a great paper by Edward A. Lee explaining the
fundamental problems with threading:
  http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.pdf

He writes in the abstraact:

  "Threads are a seemingly straightforward adaptation of the
  dominant sequential model of computation to concurrent
  systems. Languages require little or no syntactic changes
  to support threads, and operating systems and
  architectures have evolved to efficiently support them.
  Many technologists are pushing for increased use of
  multithreading in software in order to take advantage of
  the predicted increases in parallelism in computer
  architectures. In this paper, I argue that this is not a
  good idea. Although threads seem to be a small step from
  sequential computation, in fact, they represent a huge
  step. They discard the most essential and appealing
  properties of sequential computation: understandability,
  predictability, and determinism.  Threads, as a model of
  computation, are wildly nondeterministic, and the job of
  the programmer becomes one of pruning that
  nondeterminism...."

Michael

-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to