为什么我开协程,在主线程结束后,协程依然会执行。

用的github.com/emicklei/go-restful来做RESTful接口。调用RESTful接口,接口内开出协程执行推送任务(SendData方法内每5s送一次,共送30s)送数据给前端,方法内就go了一个协程,没有使用channel,WaitGroup等等待协程的机制,方法直接返回后,协程依然执行。用单例模式来初始化RESTful的容器。

func (repository *Repository) Save(data SaveData) (err error)
{
    go repository.SendData(data)
    return nil
}
阅读 8.5k
3 个回答

main函数结束了之后,gorouter才会被关闭

main函数结束,所有的协程都会结束

新手上路,请多包涵

建议用context来管理协程的生命周期.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题