首页 > 其他分享 >gin 框架实现异步处理

gin 框架实现异步处理

时间:2024-04-11 10:11:52浏览次数:26  
标签:异步 log 框架 long func time gin

package main

import (
    "log"
    "time"

    "github.com/gin-gonic/gin"
)

func main() {
    // 1.创建路由
    // 默认使用了2个中间件Logger(), Recovery()
    r := gin.Default()
    // 1.异步
    r.GET("/long_async", func(c *gin.Context) {
        // 需要搞一个副本
        copyContext := c.Copy()
        // 异步处理
        go func() {
            time.Sleep(3 * time.Second)
            log.Println("异步执行:" + copyContext.Request.URL.Path)
        }()
    })
    // 2.同步
    r.GET("/long_sync", func(c *gin.Context) {
        time.Sleep(3 * time.Second)
        log.Println("同步执行:" + c.Request.URL.Path)
    })

    r.Run(":8000")
}

标签:异步,log,框架,long,func,time,gin
From: https://www.cnblogs.com/bitterteaer/p/18128194

相关文章

  • JavaScript处理异步循环的技术详解
    文章的更新路线:JavaScript基础知识-Vue2基础知识-Vue3基础知识-TypeScript基础知识-网络基础知识-浏览器基础知识-项目优化知识-项目实战经验-前端温习题(HTML基础知识和CSS基础知识已经更新完毕)正文使用async/await和Promise:优势:代码简洁,易读,适用于处理依赖关系较强......
  • springboot中实现异步方法
    开启配置线程池packageorg.springblade.auth.config;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importorg.springframework.scheduling.annotation.EnableAsync;importorg.springframework.sch......
  • spring基本框架搭建(思路分享)
    安装IntelliJIDEA: 如果您还没有安装IntelliJIDEA,请从官方网站(https://www.jetbrains.com/idea/)下载并安装适用于您操作系统的版本。创建新项目: 打开IntelliJIDEA,选择“CreateNewProject”或者通过菜单栏中的“File”->“New”->“Project”来创建一个新项目。......
  • 全新一款基于mybatis的ORM框架,你没有见过的好用的框架,不信的前来看看!!!
    喜欢的朋友加入QQ群:917404304,群里不仅可以提mybatis-mp框架问题,还可以帮你解决后端的各种问题!另外,喜欢的朋友,帮忙关注和star(点点小爱心)!https://gitee.com/mybatis-mp特别申明:禁止在非法项目中使用,否则后果自负!与众不同的几大亮点:1:mybatis-mp-亮点一:可自定义动......
  • 创建一个简单的区块链,并使用 Flask 框架提供一个简单的 Web 接口来与区块链交互。
    目录前言一、代码展示二、代码注释1.简单的区块链模拟实现,这段代码定义了一个简单的区块链类,可以创建一个新的区块链,并能够添加新的区块到链上,同时获取最新的区块信息。这个模拟的区块链可以用于教学或演示区块链的基本概念。2.这段代码是一个简单的工作量证明(ProofofWo......
  • mybatis-mp:这是一款你没见过的好用的ORM框架,值得你拥有!不信,可以试试看!
    https://gitee.com/mybatis-mp @Data@ResultEntity(SysRole.class)publicclassOneToManyVo{privateIntegerid;privateStringname;privateLocalDateTimecreateTime;@ResultField(value="otherName")privateStringasNam......
  • 掌握Ollama框架:一站式教程,从环境搭建到高效开发
    掌握Ollama框架:一站式教程,从环境搭建到高效开发安装ollamamacOSWindows预览版LinuxDockerollama的库和工具ollama-pythonollama-js快速开始运行模型访问模型库自定义模型从GGUF导入模型自定义提示CLI参考创建模型拉取模型删除模型复制模型多行输入多模态模型提示作为......
  • keycloak~对框架中提供的Provider总结
    提供者目录ProviderAuthenticatorBaseDirectGrantAuthenticatorAbstractFormAuthenticatorAbstractUsernameFormAuthenticatorRequiredActionProviderFormActionProtocolMapperAbstractOIDCProtocolMapperRealmResourceProvider具体provider的作用Provid......
  • 基于Golang的Nano游戏服务器框架
    在游戏开发过程中,一个高效的服务器框架是至关重要的。Nano正是这样一个框架,它以Golang为基础,提供了轻量级、高性能的服务器解决方案。下面,我们将深入探讨Nano的设计理念、核心特性以及如何在实战中使用它。Nano框架概述Nano是一个针对游戏服务器的框架,能够帮助开发者快速......
  • GitHub问题解决新突破,复旦大学MAGIS框架大幅超越GPT-4
    获取本文论文,请关注公众号【AI论文解读】回复: 论文解读引言:GitHub问题解决的挑战与LLMs的潜力在软件开发的演进过程中,解决GitHub仓库中出现的问题是一个复杂的挑战。这不仅涉及到新代码的加入,还要维护现有功能的稳定运行。大型语言模型(LLMs)在代码生成和理解方......