Golang学习笔记11:并发编程之协程
协程
goroutine ——Go对协程的实现
go + 函数名 :启动一个协程执行函数体。
package main
import (
"fmt"
"time"
)
func test_Routine(){
fmt.Println("This is one routine!!!")
}
func main(){
go test_Routine()
time.Sleep(1)
}
输出结果:
> Output:
command-line-arguments
This is one routine!!!
> Elapsed: 7.155s
> Result: Success
函数实现
package main
import (
"fmt"
"time"
)
func Add(x, y int) {
z := x + y
fmt.Println(z)
}
func main() {
for i := 0; i < 10; i++ {
go Add(i,i)
}
time.Sleep(2) //为了让协程都执行完
}
输出结果:
> Output:
command-line-arguments
18
12
2
0
4
14
6
16
8
10
> Elapsed: 5.067s
> Result: Success
协程之间的同步,在Go中不需要加锁利用*sync.Mutex来实现。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 赛 の 任意门!
评论
ValineGitalk