Channel (programming) とは

コンピューティングでは、チャネルはプロセス間通信のモデルであり、メッセージの受け渡しによる同期です。メッセージはチャネルを介して送信され、別のプロセスまたはスレッドは参照を持つチャネルを介して送信されたメッセージをストリームとして受信することができます。異なるチャネルの実装は、バッファリングされてもされなくてもよく、同期型でも非同期型でもよい。
チャネルは、並行処理に対するプロセス計算手法の基本であり、並行処理のための正式なモデルである通信順次プロセス(CSP)に由来し、occamやLimboプログラミング言語などの多くの派生言語で使用されています(NewsqueakとAlefプログラミング言語)。また、Bell LabsのlibthreadやStackless Python、Goプログラミング言語のPlan 9でも使用されています。