码迷,mamicode.com
首页 > 其他好文 > 详细

Go协程

时间:2020-01-27 09:26:57      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:for   main   roc   class   height   cpu   package   协程   ima   

技术图片

1. 进程和线程

 技术图片技术图片

 2. 并发和并行

技术图片

 3. 协程

技术图片

package main
import (
	"fmt"
	"strconv"
	"time"
)

func test() {

	for i := 1; i <= 10; i++ {
		fmt.Println("tesst,hello,world " + strconv.Itoa(i))
		time.Sleep(time.Second)
	}
}

func main() {
	go test() // 开启了一个协程
	for i := 1; i <= 10; i++ {
		fmt.Println(" main,hello,golang" + strconv.Itoa(i))
		time.Sleep(time.Second)
	}
}

 3.1 goroutine入门

技术图片

 3.2 MPG模式

技术图片

 3.3 MPG模式运行状态1

技术图片

技术图片

 3.4 MPG模式运行状态2

技术图片技术图片

 3.5 设置运行cpu的数目

技术图片

package main
import (
	"runtime"
	"fmt"
)

func main() {
	cpuNum := runtime.NumCPU()
	fmt.Println("cpuNum=", cpuNum)

	//可以自己设置使用多个cpu
	runtime.GOMAXPROCS(cpuNum - 1)
	fmt.Println("ok")
}

 

Go协程

标签:for   main   roc   class   height   cpu   package   协程   ima   

原文地址:https://www.cnblogs.com/yzg-14/p/12235329.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!