Updated 2016-04-20 19:08:27 by dbohdan

Concurrency is the concept of simultaneous execution of computational tasks.

See Also  edit

actor model using coroutines
asynchronous methods
distributed computation
[parallel processing]
grid services

Building Blocks  edit

message passing

Entities  edit

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.
Each interpreter serves as an independent routine

Models and Paradigms  edit

communicating sequential processes
A formal language for describing patterns of interaction in concurrent systems.
flow-based programming
event-driven programming

Systems in Tcl  edit

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)
Control minions of asynchronous threaded pipelined backpressure-mediated death stations.

See Also  edit

Concurrency, Wikipedia
Concurrency for grown-ups by Cameron Laird, developerWorks, 2002-08-15
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.
Concurrency in Tcl: Events without getting Twisted, Andreas Kupries, 2010-05-06
Concurreny in Tcl: Weaving Threads, Andreas Kupries, 2010-05-10
Concurrency in Tcl: Talking Heads, Andreas Kupries, 2010-06-03

Description  edit

Tclonians typically focus on maintainability and related development issues. For a hard-core performance perspective on concurrency, see The C10K Problem.