golang 协程运行流程
golang 协程运行流程
package main import ( "testing" // "github.com/gwpp/tinify-go/tinify" "fmt" "time" ) func sss(){ time.Sleep(time.Second) fmt.Println("44") fmt.Println(time.Now().Unix()) } func sss1(){ time.Sleep(time.Second) fmt.Println("55") fmt.Println(time.Now().Unix()) } func TestCompressFromFile(t *testing.T) { fmt.Println("11") fmt.Println(time.Now().Unix()) go sss() go sss1() fmt.Println("22") fmt.Println(time.Now().Unix()) time.Sleep(time.Second*2) }
go test
主线程运行完( 再运行协程 在协程里遇到sleep就挂起(此协程不会执行下去) 运行其他协程序了
ps:
TestCompressFromFile主线程不能结束 一旦结束 子协程也不运行了
如果遇到什么不懂的地方直接关注公众号留言(本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。)
作者:newmiracle
出处:https://www.cnblogs.com/newmiracle/