Lua内存控制关于表



如果我有这样的结构:

tbl1 = {}
tbl2 = {}
tbl1.t1 = tbl2
-- release
tbl1 = nil

那么tbl2会发生什么?它也会发布吗?

是。Lua使用标记和扫描算法进行垃圾收集,因此将收集无法访问但循环引用的数据结构。

(在您的代码中,它不会发布,因为tbl2仍然包含对该表的引用,但我假设您也打算清除该引用。)

最新更新