golang context
发布时间:2020-12-16 09:30:15 所属栏目:大数据 来源:网络整理
导读:? ? ? package mainimport ("context""fmt""time")var (cxt context.Contextcxt1 context.ContextcancelFunction context.CancelFunc)func gooo(ctx context.Context,num int){for{select{case -ctx.Done() :fmt.Println("退出操作",num)returndefault:fmt.P
? ? ? package main import ( "context" "fmt" "time" ) var ( cxt context.Context cxt1 context.Context cancelFunction context.CancelFunc ) func gooo(ctx context.Context,num int){ for{ select{ case <-ctx.Done() : fmt.Println("退出操作",num) return default: fmt.Println("默认操作.........",num) time.Sleep(time.Second*2) } } } func main() { cxt = context.Background() cxt,cancelFunction = context.WithCancel(cxt) cxt1,cancelFunct := context.WithCancel(cxt) go gooo(cxt,1) go gooo(cxt1,2) // cancelFunction = cancelFunction time.Sleep(time.Second*10) cancelFunct() time.Sleep(time.Second * 10) cancelFunction() fmt.Println("exited....") } ? ? ? ? package main import ( "context" "fmt" "time" ) var ( cxt context.Context cxt1 context.Context cancelFunction context.CancelFunc ) func gooo(ctx context.Context,_ := context.WithCancel(cxt) go gooo(cxt,2) // cancelFunction = cancelFunction time.Sleep(time.Second * 10) cancelFunction() fmt.Println("exited....") time.Sleep(time.Second*300) } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |