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

golang ---Learn Concurrency

时间:2019-10-10 11:06:41      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:--   执行   ++   class   实例   ring   for   second   停止   

https://github.com/golang/go/wiki/LearnConcurrency

实例1:

package main

import (
    "fmt"
    "time"
)

func say(s string) {
    for i := 0; i < 5; i++ {
        time.Sleep(100 * time.Millisecond)
        fmt.Println(s)
    }
}

func main() {
    go say("world")
    say("hello")
}

 输出:

world
hello
hello
world
world
hello
hello
world
hello

  可以看到只输出了4个world就退出了,因为main执行完say("hello")就退出了

修改如下:

package main

import (
	"fmt"
	"time"
)

func say(s string) {
	for i := 0; i < 5; i++ {
		time.Sleep(100 * time.Millisecond)
		fmt.Println(s)
	}
}

func main() {
	go say("world")
	var input string
	fmt.Scanln(&input) //程序停止执行,等待用户输入
}

  输出:

world
world
world
world
world
end  //输入的string

  world完整输出了

 

golang ---Learn Concurrency

标签:--   执行   ++   class   实例   ring   for   second   停止   

原文地址:https://www.cnblogs.com/saryli/p/11645912.html

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