zoukankan      html  css  js  c++  java
  • go_gc

    如果想知道当前的内存状态,可以使用:

    // fmt.Printf("%d
    ", runtime.MemStats.Alloc/1024)
    // 此处代码在 Go 1.5.1下不再有效,更正为
    var m runtime.MemStats
    runtime.ReadMemStats(&m)
    fmt.Printf("%d Kb
    ", m.Alloc / 1024)
    

      

    如果需要在一个对象 obj 被从内存移除前执行一些特殊操作,比如写到日志文件中,可以通过如下方式调用函数来实现:

    runtime.SetFinalizer(obj, func(obj *typeObj))

    func(obj *typeObj) 需要一个 typeObj 类型的指针参数 obj,特殊操作会在它上面执行。func 也可以是一个匿名函数。

    在对象被 GC 进程选中并从内存中移除以前,SetFinalizer 都不会执行,即使程序正常结束或者发生错误。

  • 相关阅读:
    vue 定义全局函数和变量
    大学感受
    NOIP2018 游记
    NOI2018 游记
    THUSC 2018 游记
    APIO2018 游记
    SXOI2018游记
    poorpool 的 考场 NOI Linux 配置
    关于 poorpool
    NOIP2017 游记
  • 原文地址:https://www.cnblogs.com/luffe/p/8572893.html
Copyright © 2011-2022 走看看