• 【Golang】golang中临时对象池sync.Pool


    sync.Pool简介

      sync.Pool是属于go标准库sync包,是一个可以分别存取的临时对象的集合。但是不是一个缓存(Cache)。

        官方手册的介绍

        

    sync.Pool的由来

        Go语言是自动回收垃圾的,不用手动,这样可以减少程序员负担并提高开发效率。但是这样也有一定的副作用,在方便的同时,自动GC也会给程序带来一定的性能问题,并且在高负载的情况下,不能够随意产生太多的垃圾,这样会给GC带来很大的负担并影响程序效率。后来Go官方推出这个sync.Pool包,它主要的作用就是用来保存并临时复用对象,以减少内存的分配,减轻GC的压力。

    哪些框架用了sync.Pool

        1.ECHO框架(golang的一款轻量级的web框架),Echo框架的路由除了路由基于 radix tree,还使用了sync.Pool来复用内存,减少路由对内存的占用。

        

         http://go-echo.org/guide/routing/

        2.Gin框架(也是go开发的一款web框架),也是用来sync.Pool。

    sync.Pool主要就两个方法

         

  • 相关阅读:
    typora 页内跳转
    shell脚本搭建redis集群
    Html
    python json模块
    jenkins 问题合集
    day05 每日一行
    day04 每次一行
    day03 每日一行
    day02
    day02 每日一行
  • 原文地址:https://www.cnblogs.com/songgj/p/10513863.html
Copyright © 2020-2023  润新知