AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
当在中间件或 handler 中启动新的 Goroutine 时,**不能**使用原始的上下文,必须使用只读副本。 ```go func main() { r := gin.Default() r.GET("/long_async", func(c *gin.Context) { // 创建在 goroutine 中使用的副本 cCp := c.Copy() go func() { // 用 time.Sleep() 模拟一个长任务。 time.Sleep(5 * time.Second) // 请注意您使用的是复制的上下文 "cCp",这一点很重要 log.Println("Done! in path " + cCp.Request.URL.Path) }() }) r.GET("/long_sync", func(c *gin.Context) { // 用 time.Sleep() 模拟一个长任务。 time.Sleep(5 * time.Second) // 因为没有使用 goroutine,不需要拷贝上下文 log.Println("Done! in path " + c.Request.URL.Path) }) // 监听并在 0.0.0.0:8080 上启动服务 r.Run(":8080") } ```