当前位置: 首页 > news >正文

无涯教程-Lua - 垃圾回收

Lua使用自动内存管理,该管理使用基于Lua内置的某些算法的垃圾回收。

垃圾收集器暂停

垃圾收集器暂停用于控制垃圾收集器之前需要等待多长时间; Lua的自动内存管理再次调用它。值小于100意味着Lua将不等待下一个周期。同样,此值的较高值将导致垃圾收集器的运行速度变慢。值为200,表示收集器在开始新的循环之前等待使用的总内存增加一倍。因此,根据应用程序的性质和速度,可能需要更改此值以在Lua应用程序中获得最佳性能。

垃圾收集器函数

作为开发人员,无涯教程确实可以控制Lua中的自动内存管理。为此,有以下方法。

  • collectgarbage(" collect")          - 运行一个完整的垃圾回收周期。

  • collectgarbage(" count")            - 返回程序当前使用的内存量(以千字节为单位)。

  • collectgarbage(" restart")          - 如果垃圾收集器已停止,则会重新启动它。

  • collectgarbage(" setpause")      - 将作为第二参数除以100的值设置为垃圾收集器暂停变量。

  • collectgarbage(" setstepmul")  - 将作为第二参数除以100的值设置为垃圾步骤乘数变量。

  • collectgarbage(" step")               - 运行一步垃圾收集。第二个参数越大,此步骤将越大。如果触发的步骤是垃圾收集周期的最后一步,则收集垃​​圾将返回true。

  • collectgarbage(" stop")               - 如果垃圾收集器正在运行,则将其停止。

下面显示了一个使用垃圾收集器示例的简单示例。

mytable={"apple", "orange", "banana"}print(collectgarbage("count"))mytable=nilprint(collectgarbage("count"))print(collectgarbage("collect"))print(collectgarbage("count"))

当运行上面的程序时,将得到以下输出。请注意,此输出将因操作系统类型以及Lua的自动内存管理函数的不同而有所不同。

23.1455078125   149
23.2880859375   295
0
22.37109375     380

您可以在上面的程序中看到,一旦完成垃圾回收,它就会减少所使用的内存。但是,这不是强制性的。即使无涯教程不调用它们,它也会在预定时间后由Lua解释器在以后的阶段自动执行。

Lua - 垃圾回收 - 无涯教程网无涯教程网提供Lua使用自动内存管理,该管理使用基于Lua内置的某些算法的垃圾回收。 垃圾收集器暂停...https://www.learnfk.com/lua/lua-garbage-collection.html

http://www.lryc.cn/news/107601.html

相关文章:

  • DP(各种模型)
  • 开学在即,这个超好用的中小学新生录取查询系统制作方法值得借鉴
  • 使用Canvas裁剪图片
  • JavaScript |(三)内建对象 | 数组 | string对象 | 尚硅谷JavaScript基础实战
  • 势能线段树
  • 【phaser微信抖音小游戏开发004】往画布上增加文本以及文本的操作
  • 【1.4】Java微服务:服务注册和调用(Eureka和Ribbon实现)
  • QT中使用ffmpeg的api进行视频的播放
  • 使用idea实现git操作大全(在项目开发中遇到的实际情况
  • SQL面试题:一个优化案例
  • 链表的总体涵盖以及无哨兵位单链表实现——【数据结构】
  • 网页版Java五子棋项目(一)websocket【服务器给用户端发信息】
  • 企业大数据可视化案例专题分享-入门
  • GoogLeNet卷积神经网络-笔记
  • 腾讯云TencentOS Server镜像系统常见问题解答
  • 【项目 进程13】2.28共享内存(1) 2.29共享内存(2)
  • Flask框架-流量控制:flask-limiter的使用
  • 【机器学习】西瓜书习题3.5Python编程实现线性判别分析,并给出西瓜数据集 3.0α上的结果
  • Elasticsearch:通过动态修剪实现更快的基数聚合
  • Webpack5 生产模式压缩图片ImageMinimizerPlugin
  • 时序预测 | Matlab实现基于BP神经网络的电力负荷预测模型
  • 基于回溯算法实现八皇后问题
  • Linux【网络编程】之深入理解TCP协议
  • 如何克服看到别人优于自己而感到的焦虑和迷茫?
  • 浅谈React中的ref和useRef
  • Linux C 获取主机网卡名及 IP 的几种方法
  • 解密外接显卡:笔记本能否接外置显卡?如何连接外接显卡?
  • list与erase()
  • Arcgis 分区统计majority参数统计问题
  • vue2+wangEditor5富文本编辑器(图片视频自定义上传七牛云/服务器)