go 语言学习之:chan

原创
2015/07/24 17:42
阅读数 398

chan 是什么

一个变量,但这个变量有点特殊:创建之后,如果不设置它的话,读它的地方会阻塞。

通过这样一种特性实现了 goroutine 的通信。

缓冲机制

c := make(chan int , 1024)

 

后面的 1024就是指的缓冲区的大小,写的时候,如果缓冲区不慢。则写入操作不会阻塞。

select

监控一系列的文件句柄,一但一个发生变化,就返回。

select{
       case <-chan1:
       case chan2<-1:
       default:
   }

 

展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部