'''Concurrency''' is the concept of simultaneous execution of computational tasks. ** See Also ** [actor model using coroutines]: [asynchronous methods]: [distributed computation]: [parallel processing]: [http://www-128.ibm.com/developerworks/grid/library/gr-future.html%|%grid services]: ** Building Blocks ** [continuation]: [message passing]: [semaphores]: [microthreads]: [How do I manage lock files in a cross platform manner in Tcl%|%lockfiles]: ** Entities ** In a concurrent system, autonomous or semi-autonomous entities communicate to achieve the objectives of the system. Depending on the design, and entity may be called an '''actor''', '''agent''', '''object''', '''producer''', '''process''', or '''routine'''. Here is a list of Tcl facilities and components that can be used to implement entities. [coroutine%|%coroutines]: [generators]: [iterators]: `[interp]`: Each interpreter serves as an independent routine [processes]: [threads]: ** Models and Paradigms ** [CSP%|%communicating sequential processes]: A formal language for describing patterns of interaction in concurrent systems. [flow-based programming]: [event-oriented programming%|%event-driven programming]: ** Systems in Tcl ** The following Tcl systems provision concurrent routines, along with facilities for communication between them. See also [message passing] for a list of systems that only distribute data. [csp (package)]: [Daerth]: Control minions of asynchronous threaded pipelined backpressure-mediated death stations. [fiber]: [Gotcl]: [pipethread]: ** See Also ** [http://en.wikipedia.org/wiki/Concurrency_(computer_science)%|%Concurrency], Wikipedia: [http://www-106.ibm.com/developerworks/library/l-sc5.html%|%Concurrency for grown-ups] by [CL%|%Cameron Laird], [developerWorks], 2002-08-15: [http://arstechnica.com/paedia/h/hyperthreading/hyperthreading-1.html%|%Introduction to Multithreading, Superthreading and Hyperthreading], by Jon Stokes: 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. [http://www.activestate.com/blog/2010/05/concurrency-tcl-events-without-getting-twisted%|%Concurrency in Tcl: Events without getting Twisted], [Andreas Kupries], 2010-05-06: [http://www.activestate.com/blog/2010/05/concurreny-tcl-weaving-threads%|%Concurreny in Tcl: Weaving Threads], [Andreas Kupries], 2010-05-10: [http://www.activestate.com/blog/2010/06/concurrency-tcl-talking-heads%|%Concurrency in Tcl: Talking Heads], [Andreas Kupries], 2010-06-03: ** Description ** [Tcl]onians typically focus on maintainability and related development issues. For a hard-core performance perspective on concurrency, see [http://kegel.com/c10k.html%|%The C10K Problem]. <> Category Concurrency | Category Concept | Category Interprocess Communication