美文网首页
golang context简单demo使用

golang context简单demo使用

作者: 承诺一时的华丽 | 来源:发表于2017-10-27 14:03 被阅读57次
package test

import (
    "testing"
    "time"
    "context"
)

var (
    ctxt   context.Context
    cancel context.CancelFunc
)

func TestEnum(t *testing.T) {
    ctxt, cancel = context.WithCancel(context.Background())
    go show()

    go func() {
        time.Sleep(time.Second * 10)
        closeShow()
    }()

    time.Sleep(time.Second * 15)
}

func show() {
    for {
        select {
        case <-ctxt.Done():
            println("done")
            return
        default:
            println("work ......")
        }

        time.Sleep(time.Second * 1)
    }
}

func closeShow() {
    println("close 。。。。")
    cancel()
}

相关文章

网友评论

      本文标题:golang context简单demo使用

      本文链接:https://www.haomeiwen.com/subject/rqwrpxtx.html