码迷,mamicode.com
首页 > 其他好文 > 详细

go channel 概述

时间:2020-03-29 17:46:07      阅读:51      评论:0      收藏:0      [点我收藏+]

标签:方式   模式   队列   初始化   清除   类型   共享   通道   --   

精髓

将资源读进内存-->共享内存,一个个进程/线程进行处理,这是常见模式。go channel 是一种直接在进程/线程之间传递资源的方式,即以通信来共享内存。这便是go的精髓。

 

定义

chan T      双向

chan<-T   只发送

<- chan T 只接收

通道类型,也是引用类型,零值为nil

 

特性

同一时刻,仅有一个goroutine可以向该通道发送元素值,同时也仅有一个goroutine可以从该通道接收元素值。

通道中的元素值,严格按发送到该通道的先后顺序排列,最先发送到的元素值,一定最先被接收。等效于先进先出的消息队列。

通道中的元素值,具有原子性,不可被分割;每个元素值只能被一个goroutine接收,被接收后,立刻从通道中清除。

 

通道初始化

make(chan int)

初始化一个可以接收、发送int值类型的通道,无缓冲

 

 

 

 

 

未完.....

go channel 概述

标签:方式   模式   队列   初始化   清除   类型   共享   通道   --   

原文地址:https://www.cnblogs.com/perfei/p/12593566.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!