Go语言并发
2018-10-11 本文已影响0人
超级皮波9
Go语言并发
-
Go语言级别支持
协程
,叫做goroutine -
Go 语言从语言层面支持并发和并行的开发操作
-
Go并发案例
package main
import "fmt"
func sing(){
for i:=1;i<10;i++{
fmt.Println("我在唱歌")
}
}
func dancing(){
for i:=1;i<10;i++{
fmt.Println("我在跳舞")
}
}
func main(){
go sing() // 开启协程 Go
go dancing() // 开启协程 Go
for{
;
}
}
-
开启协程 在调用前加
Go
-
注意点:
开启协程之后, 主线程(进程)不能结束一旦主线程结束了, 那么程序就关闭了, 那么进程就不见了, 那么协程就不会被执行了
Runtime 包中常用的函数
- 出让本次的执行权限
runtime.Gosched()
- 终止调用它的Go程,其他Go程不会受到影响
runtime.Goexit( )
- 设置最大CPU
runtime.GOMAXPROCS( n int )
- 获取同时执行的CPU个数
runtime.NumCPU( )