通道 (编程)
维基百科,自由的 encyclopedia
在计算中,通道(channel)是通过消息传递进行进程间通信和同步的编程模型。作为一个流,消息可以经由通道发送,另一个进程或线程能够接收它已经引用的经由通道发送的消息。通道的不同实现,可以没有缓冲区也可以有缓冲区,消息传递相应的可以是同步的也可以是异步的。
通道是并发的进程演算方式的基础,并起源于通信顺序进程(CSP),它是并发的形式模型,在CSP的无缓冲区通道中,发送者不能传送消息,直到接收者准备好接受它,称为同步消息传递,这种行为也被形象的称为“约会”(rendezvous)。通道已经用在了很多CSP派生语言中,比如occam和Limbo编程语言(经历了Newsqueak和Alef(英语:Alef (programming language))语言)。通道还用于贝尔实验室Plan 9的libthread,以及用于Stackless Python和Go编程语言。