通道 (編程)
維基百科,自由的 encyclopedia
在計算中,通道(channel)是通過訊息傳遞進行行程間通訊和同步的編程模型。作為一個流,訊息可以經由通道傳送,另一個行程或執行緒能夠接收它已經參照的經由通道傳送的訊息。通道的不同實現,可以沒有緩衝區也可以有緩衝區,訊息傳遞相應的可以是同步的也可以是非同步的。
通道是並行的行程演算方式的基礎,並起源於交談循序程式(CSP),它是並行的形式模型,在CSP的無緩衝區通道中,傳送者不能傳送訊息,直到接收者準備好接受它,稱為同步訊息傳遞,這種行為也被形象的稱為「約會」(rendezvous)。通道已經用在了很多CSP衍生語言中,比如occam和Limbo程式語言(經歷了Newsqueak和Alef(英語:Alef (programming language))語言)。通道還用於貝爾實驗室Plan 9的libthread,以及用於Stackless Python和Go程式語言。