Version 27 of Concurrency concepts

Updated 2009-01-29 11:51:39 by lars_h

LV So, anyone want to define what concurrency is? Also, how many of these concepts can be implemented in some form in Tcl, and for those who can't easily be implemented, what needs to be implemented to make it easier?


chords

CSP

co-routines

continuation

flow-based programming

events

generators

processes

latent functions

microthreads

monitors

object-bound mutexes

asynchronous methods

tasks

semaphores

threads

weightless threads

guarded methods

iterators

A Thread-Safe Message Queue


[co-operative vs. pre-emptive]


At different levels, distributed computing, parallel processing, or grid services [L1 ] are related topics.


developerWorks hosts a write-up of some of this material [L2 ]. While Jon Stokes' "Introduction to Multithreading, Superthreading and Hyperthreading" [L3 ] claims to be mostly about (rather specific) hardware, in fact its readability and confident accuracy recommend it for those in search of a more general introduction to operating system-level concurrency.


Tclonians typically focus on maintainability and related development issues. For a hard-core performance perspective on concurrency, see "The C10K problem" [L4 ].