zoukankan      html  css  js  c++  java
  • 【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主要就两个方法

         

  • 相关阅读:
    文件操作-图片的拷贝
    UIBarbuttonItem
    pod 'Masonry' 自动布局
    文件操作——图片保存到本地
    IOS简单的定位
    UITapGestureRecognizer+动画
    KVO
    UIScrollView
    UITextField的使用
    1228.1——计算器(未使用MVC设计模式)
  • 原文地址:https://www.cnblogs.com/songgj/p/10513863.html
Copyright © 2011-2022 走看看