Channel (programming): Difference between revisions

Content deleted Content added
m "first originated" is redundant
Line 3:
In computing, a '''channel''' is a model for [[interprocess communication]] and [[synchronization]] via [[message passing]]. A message may be sent over a channel, and another process or thread is able to receive messages sent over a channel it has a [[reference (computer science)|reference]] to, as a [[stream (computing)|stream]]. Different implementations of channels may be buffered or not, and either synchronous or asynchronous.
 
Channels are fundamental to the [[process calculus]] approach to concurrency, and first originated in [[communicating sequential processes]] (CSP), a formal model for concurrency, and has been used in many derived languages, such as [[occam (programming language)|occam]], and [[Limbo programming language]] (via [[Newsqueak]] and the [[Alef programming language]]). They are also used in the [[C programming language]] threading library libthread, and in [[Plan 9 from Bell Labs]], which uses libthread, as well as in [[Stackless Python]] and the [[Go programming language]].
 
==Channel implementations==