Channel (programming): Difference between revisions

Content deleted Content added
No edit summary
No edit summary
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 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 [[Plan 9 from Bell Labs]]'s libthread, as well as in [[Stackless Python]] and the [[Go (programming language)|Go programming language]].
 
==Channel implementations==