6 ms·
Multi-core, Threads & Message Passing
- nkurz 16y agoThis 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 16y agoGreat 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.. :-)