golang的并发
Posted zolo®
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang的并发相关的知识,希望对你有一定的参考价值。
Golang的并发涉及二个概念:
goroutine
channel
goroutine由关键字go创建.
channel由关键字chan定义
channel的理解稍难点, 最简单地, 你把它当成Unix中的双向通道Pipe.
1. channel的定义
2. select阻塞
3. 缓存机制: 使用make()创建.
4. 超时机制: 使用time.After()函数.
func main() {
var abc chan int
select {
case <-abc:
fmt.Println("从abc获取值")
case <-time.After(10 * time.Second):
fmt.Println("超时10秒")
}
fmt.Println("程序结束")
}
以上是关于golang的并发的主要内容,如果未能解决你的问题,请参考以下文章