99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Gin 在中間件中使用Goroutine

2022-03-04 16:49 更新

當(dāng)在中間件或 handler 中啟動(dòng)新的 Goroutine 時(shí),不能使用原始的上下文,必須使用只讀副本。

package main

import (
	"github.com/gin-gonic/gin"
	"log"
	"time"
)

func main() {
	r := gin.Default()

	r.GET("/test1", func(c *gin.Context) {
		// 拷貝一份副本在Goroutine中使用
		tmp := c.Copy()
		go func() {
			time.Sleep(5 * time.Second)
			// 這里使用的是值拷貝的tmp
			log.Println("test1已完成,路徑是:" + tmp.Request.URL.Path)
		}()
	})

	r.GET("/test2", func(c *gin.Context) {
		time.Sleep(5 * time.Second)
		// 因?yàn)闆]有使用 goroutine,不需要拷貝上下文
		log.Println("test2已完成,路徑是:" + c.Request.URL.Path)
	})
	r.Run()
}

以上代碼執(zhí)行結(jié)果如下

動(dòng)畫


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)