小编Ani*_*ish的帖子

触发并忘记 goroutine golang

我编写了一个 API 来进行数据库调用并执行一些业务逻辑。我正在调用一个必须在后台执行某些操作的 goroutine。由于 API 调用不应等待此后台任务完成,因此我在调用 goroutine 后立即返回 200 OK(让我们假设后台任务永远不会给出任何错误。)

我读到,一旦 goroutine 完成其任务,goroutine 将被终止。这种一劳永逸的方式是否能避免 goroutine 泄漏?Goroutine 在执行任务后是否会终止并清理?

func DefaultHandler(w http.ResponseWriter, r *http.Request) {
    // Some DB calls
    // Some business logics
    go func() {
        // some Task taking 5 sec
    }()
    w.WriteHeader(http.StatusOK)
}
Run Code Online (Sandbox Code Playgroud)

go goroutine fire-and-forget

8
推荐指数
2
解决办法
4670
查看次数

标签 统计

fire-and-forget ×1

go ×1

goroutine ×1