前序:

  因?yàn)榇蛩阕约焊銈€(gè)基于Golang的IM服務(wù)器,所以復(fù)習(xí)了下之前一直沒怎么使用的協(xié)程、管道等高并發(fā)編程知識。發(fā)現(xiàn)自己的channel這塊,也就是管道,實(shí)在是有些混亂。然后對著文檔,邊參照官網(wǎng)例子和在編譯器測試,總結(jié)了下面這17個(gè)例子,設(shè)置為簡短的片段,是為了免得混淆太多,阻礙理解。內(nèi)含注釋豐富,復(fù)制粘貼就能編譯使用。

  這里立個(gè) flag,有錯(cuò)誤歡迎指出,只要你跟著敲完這17個(gè)例子,channel的基礎(chǔ)絕對可以掌握!

 

基本概念:

  關(guān)于管道 Channel:

    Channels用來同步并發(fā)執(zhí)行的函數(shù)并提供它們某種傳值交流的機(jī)制。

    Channels的一些特性:通過channel傳遞的元素類型、容器(或緩沖區(qū))和傳遞的方向由“<-”操作符指定。

網(wǎng)友評論