gin異步協程


異步協程


package main
import (
    "gopkg.in/gin-gonic/gin.v1"
    "time"
    "log"
)


func main(){
    // only set in Production
    // gin.SetMode(gin.ReleaseMode)  

    router := gin.Default()
    router.GET("/sync", func(c *gin.Context) {
        time.Sleep(5 * time.Second)
        //先Sleep 5S ,Print 后  返回http響應
        log.Println("Done! in path" + c.Request.URL.Path)
    })

    router.GET("/async", func(c *gin.Context) {
        //先返回http響應

        // 異步 執行程序 Sleep 5S  后  Print 
        cCp := c.Copy()
        go func() {
            time.Sleep(5 * time.Second)
            log.Println("Done! in path" + cCp.Request.URL.Path)
        }()
    })
    router.Run(":8005")
}

在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM