首页 > 其他 > 详细

Go_goroutine初识

时间:2020-02-02 13:43:53      阅读:64      评论:0      收藏:0      [点我收藏+]

技术分享图片

技术分享图片技术分享图片技术分享图片 

package main

import (
	"fmt"

)

func main() {
	/*
	一个goroutine打印数字,另外一个goroutine打印字母,观察运行结果。。

	并发的程序的运行结果,每次都不一定相同。
	不同计算机设备执行,效果也不相同。


	go语言的并发:go关键字
		系统自动创建并启动主goroutine,执行对应的main()
		用于自己创建并启动子goroutine,执行对应的函数

		go 函数()//go关键创建并启动goroutine,然后执行对应的函数(),该函数执行结束,子goroutine也随之结束。

			子goroutine中执行的函数,往往没有返回值。
			如果有也会被舍弃。
	 */

	//1.先创建并启动子goroutine,执行printNum()
	go printNum()

	//2.main中打印字母
	for i:=1;i<=100;i++{
		fmt.Printf("\t主goroutine中打印字母:A %d\n",i)
	}

	//time.Sleep(1*time.Second)
	fmt.Println("main...over...") //主goroutine结束了,子goroutine不管执行是否完毕,都得结束
	//==========数字值打印到86========
	//子goroutine中打印数字:85
	//子goroutine中打印数字:86
	//主goroutine中打印字母:A 97
	//主goroutine中打印字母:A 98
	//主goroutine中打印字母:A 99
	//主goroutine中打印字母:A 100
	//main...over...
	//
	//Process finished with exit code 0

}

func printNum() {
	for i := 1; i <= 100; i++ {
		fmt.Printf("子goroutine中打印数字:%d\n", i)
	}
}

 

Go_goroutine初识

原文:https://www.cnblogs.com/yzg-14/p/12251553.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!