Channel (programming)

In computing, a channel is a model for interprocess communication and synchronization via message passing.

The multithreading library, libthread, which was first created for the operating system Plan 9, offers inter-thread communication based on fixed-size channels.

The Love2D library which uses the Lua programming language implements channels with push and pop operations similar to stacks.

[1] In this example, two hardware threads are started on the XMOS, running the two lines in the "par" block.

[3] In addition to their fundamental use for interprocess communication, channels can be used as a primitive to implement various other concurrent programming constructs which can be realized as streams.