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主线程不能结束 一旦结束 子协程也不运行了  


  

posted @ 2022-05-17 17:16  newmiracle宇宙  阅读(63)  评论(0编辑  收藏  举报