Go基础学习-goroutine
2013-10-10 23:49
453 查看
Go语言核心部分就一个关键字go
make创建chanel的时候可以指定是否有缓存,有缓存的chanel在缓冲区被填满之前是不会阻塞的。
package main import ( "fmt" "runtime" "time" ) func main() { runtime.GOMAXPROCS(runtime.NumCPU()) c := make(chan int, 10) go func() { for i := 0; i < 20; i++ { c <- i fmt.Println("write", i) } close(c) }() for v := range c { fmt.Println("read", v) time.Sleep(1 * time.Second) } }
make创建chanel的时候可以指定是否有缓存,有缓存的chanel在缓冲区被填满之前是不会阻塞的。
相关文章推荐
- 如何使用google code
- SRM 593 Div1 L1:HexagonalBoard,用染色法判断无向图是否为二分图
- Cuckoo Search
- 推荐算法分类
- Django 1.5.4 专题二 urls 和 view 提高
- django DB 优化
- 使用Google code + SVN进行多人开发
- Ubuntu 12.04安装Google Chrome
- Google 的开源技术protobuf 简介与例子
- 创建你的第一个Django项目
- Goldengate的拆分与合并
- 关于django model form
- Windows环境下google protobuf入门
- 谷歌三大核心技术(一)Google File System - 系统设计
- 谷歌三大核心技术(一)Google File System - 设计
- 谷歌三大核心技术(一)Google File System - 简介
- 谷歌三大核心技术(一)Google File System - 摘要
- Google Analytics与百度统计原理
- 添加顶部通知(Notification)并处于“正在进行中”(onGoing)
- 10个实用的Django建议