go语言学习笔记:协程

协程时go语言天然支持的,使用的是go关键字,所以不需要添加什么包:

协程没有返回值!需要往调用者返回数据的话使用channel

package main

import(
    "fmt"
)

func pr(a *int) {
    *a += 1
    fmt.Println(*a)
}

func main(){
    var a = 0
    i := 0
    for ; i<10; i++ {
        go pr(&a)                  //一个go全部搞定,但是这些协程的执行时机让人困扰,它不是创建后立刻执行,也不是我们显示的让它执行。需要使用其他的办法等它执行完
    }
    fmt.Println("finish, %d", a)
}

 

posted @ 2017-12-01 15:04  你的KPI完成了吗  阅读(89)  评论(0)    收藏  举报