登录
首页 >  Golang >  Go问答

goroutine退出的状态为2

来源:stackoverflow

时间:2024-02-29 22:00:23 160浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《goroutine退出的状态为2》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

为什么当执行退出状态为 2 的 goroutine 时我的程序会出现恐慌/自动关闭

var (
    timeout time.duration
    ctx     context.context
)
synchronised := usecases.newxbaseusecase(timeout, xbaserepo, oodobaseurl, oododb, oodoemail, oodopassword, httpcl)
count := 1
gocron.every(1).days().at("15:54").do(func() {
    log.println("start sync")
    log.println("fetch ->", count)
    synchronised.syncservices(ctx)
})
<-gocron.start()

错误消息:恐慌:无法从 nil 父级创建上下文

goroutine 10 [running]:
context.WithDeadline({0x0, 0x0}, {0xe14120, 0xee6b2800, 0xe14120})
        /home/sdk/go1.17.2/src/context/context.go:436 +0x41b

正确答案


据我所知,您似乎没有给 ctx 一个实际值。一般来说,您会使用类似 ctx = context.Background()ctx = context.WithCancel(context.Background)

这里有一篇好文章:https://www.sohamkamani.com/golang/context-cancellation-and-values/

理论要掌握,实操不能落!以上关于《goroutine退出的状态为2》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>