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的并发的主要内容,如果未能解决你的问题,请参考以下文章

Go语言学习之旅--并发编程

Go语言学习之旅--并发编程

Go语言学习之旅--并发编程

golang goroutine例子[golang并发代码片段]

golang Golang并发切片示例

golang 并发爬虫