go channel 概述
Posted perfei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go channel 概述相关的知识,希望对你有一定的参考价值。
精髓
将资源读进内存-->共享内存,一个个进程/线程进行处理,这是常见模式。go channel 是一种直接在进程/线程之间传递资源的方式,即以通信来共享内存。这便是go的精髓。
定义
chan T 双向
chan<-T 只发送
<- chan T 只接收
通道类型,也是引用类型,零值为nil
特性
同一时刻,仅有一个goroutine可以向该通道发送元素值,同时也仅有一个goroutine可以从该通道接收元素值。
通道中的元素值,严格按发送到该通道的先后顺序排列,最先发送到的元素值,一定最先被接收。等效于先进先出的消息队列。
通道中的元素值,具有原子性,不可被分割;每个元素值只能被一个goroutine接收,被接收后,立刻从通道中清除。
通道初始化
make(chan int)
初始化一个可以接收、发送int值类型的通道,无缓冲
未完.....
以上是关于go channel 概述的主要内容,如果未能解决你的问题,请参考以下文章