【发布时间】:2015-04-03 21:44:54
【问题描述】:
我遇到过severalplaces,人们调用collectgarbage()两次来完成所有未使用的对象。
这是为什么呢?为什么一个电话不够?为什么不是三个电话?
当我尝试以下代码(在 Lua 5.2 上)时,只需一次调用 collectgarbage,对象就会完成(意思是:它的 __gc 被调用):
do
local x = setmetatable({},{
__gc = function() print("works") end
})
end
collectgarbage()
os.exit()
这是否意味着一个电话就足够了?
【问题讨论】: