

Multi-core, Threads & Message Passing - igrigorik
http://www.igvita.com/2010/08/18/multi-core-threads-message-passing/

======
nkurz
This is a good article, with nice insight on what cache coherency implies for
the future of concurrency, but the semantics seems misleading. The word
'thread' is so overloaded that I'm not sure it's helpful here.

Yes, operating systems frequently allow processes to share the same data
space, and we call these 'threads'. Yes, CPU's allow multiple code paths to be
in progress on the same core, and we also call these 'threads'. And as the the
author knows (based on the replies to comments), neither of these really
constrains the form 'threads' take at the level the programmer thinks about.

So I'm not sure what use there is in concluding that threads "not going
anywhere". This is trivially true to the extent that 'threads' are synonymous
with 'concurrency', but does it say more than "concurrency is here to stay"?

~~~
igrigorik
Great points. Based on feedback so far, I definitely realized that I should
have used different terminology. Between "thread" as a software concept, and
"thread" as context of an execution (at multiple abstraction levels, even),
there is a lot of room for ambiguity.

As for conclusion, I think I'm going to have to make another go at it in
another post.. :-)

