麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > 綜合 > 正文

簡單講解Lua中的垃圾回收機制

2024-07-21 23:04:53
字體:
來源:轉載
供稿:網友

 Lua使用基于被內置在Lua某些算法的垃圾收集自動內存管理??梢宰詣觾却婀芾淼慕Y果,作為一個開發者:

  •     沒有必要擔心的對象分配內存。
  •     無需釋放他們時,不再需要可將其設置為nil。

Lua使用運行不時收集死的對象時,不再從Lua程序中訪問垃圾收集器。

所有對象,包括表,用戶數據,函數,線程,字符串等受自動內存管理。 Lua使用增量標記和使用兩個數字來控制其垃圾回收周期即垃圾收集暫停和垃圾收集器的步驟事半功倍清除收集器。這些值是在百分比和100的值是常等于1。
垃圾收集暫停

垃圾收集停頓被用于控制多長時間的垃圾收集器需要等待,之前;它是由Lua的自動內存管理再次調用。數值低于100就意味著Lua中不會等待下一個周期。此值的類似地較高的值將導致垃圾收集器是緩慢的并且性質上較不積極。200表示該集合等待的總內存在使用中要開始一個新的周期開始前的兩倍。因此,根據不同的性質和應用的速度,有可能要求改變該值來獲得在Lua應用的最佳性能。
垃圾收集器的步驟事半功倍

這一步乘數控制垃圾收集在Lua程序的內存分配的相對速度。較大的步長值將導致垃圾收集器要更侵蝕性,同時也提高了垃圾收集的每個增量步的步長大小。值小于100可能經常導致避免垃圾收集器沒有完成其周期和其一般不是優選的。默認值是200,這意味著垃圾收集器運行的兩倍的內存分配的速度。
垃圾收集器函數

作為開發人員,我們確實有過讓Lua自動內存管理。為此,有以下幾種方法。

  •     collectgarbage("collect"): 執行垃圾回收的一個完整周期。
  •     collectgarbage("count"): 返回當前使用的千字節的程序內存量
  •     collectgarbage("restart"): 如果垃圾收集器已經停止,將重新啟動它。
  •     collectgarbage("setpause"): 設置給定為第二參數除以100至垃圾收集器暫停變量的值。它的用途是作為討論的一點上面。
  •     collectgarbage("setstepmul"): 設置給定為第二參數除以100到垃圾步驟乘數的變量的值。它的用途是作為討論的一點上面。
  •     collectgarbage("step"): 運行垃圾回收的一步。第二個參數是越大step也會變大。在收集的垃圾將返回true,如果觸發的步驟是一個垃圾收集周期的最后一步。
  •     collectgarbage("stop"): 停止垃圾收集器,如果它的運行。

使用垃圾收集器例如一個簡單的例子如下所示。

 

復制代碼 代碼如下:
mytable = {"apple", "orange", "banana"}

 

print(collectgarbage("count"))

mytable = nil

print(collectgarbage("count"))

print(collectgarbage("collect"))

print(collectgarbage("count"))

 

當我們運行上面的程序,會得到下面的輸出。請注意,這樣的結果會有所不同,由于在操作系統中,Lua自動內存管理功能可能也有差異。

 

復制代碼 代碼如下:
20.9560546875
20.9853515625
0
19.4111328125

 

可以在上面的程序看出,一旦垃圾回收完成后,既可以減少使用內存。但是它也不是強制性的調用。即使我們不給調用,它也會自動在后一階段在預定時間之后由Lua解釋器執行。

顯然我們可以改變,如果需要使用垃圾收集器的這些功能行為。這些功能提供了一點額外的能力,為開發者處理復雜情況。根據不同的內存需要執行程序類型,可能會或可能不會使用此功能。但在應用程序的內存使用情況,并在程序本身,以避免在部署后不想要對結果進行檢查。

 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久久久女人精品毛片九一 | 亚洲天堂一级片 | 欧美一级做 | 欧美精品亚洲人成在线观看 | 91精品久久久久久久久 | 亚洲国产高清视频 | hdbbwsexvideo| 免费看成人av| 毛片av网址 | 国产精品一区视频 | 午夜视频久久久 | 亚洲射逼 | 在线日韩亚洲 | 天天碰天天操 | 天天操天天碰 | 超碰97人人艹 | 久久久国产精品网站 | 日本中文字幕网址 | 免费一级毛片在线播放不收费 | 91成人免费在线观看 | av在线等 | 免费观看黄视频 | 奶子吧naiziba.cc免费午夜片在线观看 | 黄色av网站在线观看 | 精品一区二区免费 | 高潮娇喘嗯啊~文字 | 美女色影院 | 看91视频| 久久国产成人午夜av浪潮 | 欧美一级做a | 亚洲最新黄色网址 | 久久精品观看 | 免费在线观看毛片视频 | 久久影院免费观看 | 伊人一二三四区 | 99视频有精品视频高清 | 日韩欧美激情视频 | 日美av在线 | 免费看成年人网站 | 久草在线新时代视觉 | 日本aaaa片毛片免费观看视频 |