On Wed, Jan 28, 2009 at 11:43 PM, Tom Duff
On Wed, 28 Jan 2009, Stephen Sinclair wrote:
It's parallel, but not concurrent. ... However, they don't run in separate operating system threads, which would be "concurrent".
Standard terminology in CS is more or less the reverse. "Concurrent" means apparently happening at the same time, "parallel" means executing on more than one CPU. Multi-threaded programs are concurrent, but they're only parallel if they're running on more than one core.
Sorry, my bad, maybe it is the other way around. I think a big challenge for running shreds in parallel will be dealing with memory issues. Right now it's a big advantage that you can access global variables and things within shreds without worrying about clobbering other shreds, but this would be a problem with true concurrency. Perhaps the best solution would be transactional memory, but it's quite hard to implement from what I understand. Steve