Python返回的count0、count1和count2值是什么gc.get\U计数()

2024-09-27 00:16:11 发布

您现在位置:Python中文网/ 问答频道 /正文

python的gc包的文档说明了这一点gc.get\U计数():

gc.get_count()
    Return the current collection counts as a tuple of (count0, count1, count2).

以下是一个示例程序:

import gc


if __name__=="__main__":
    print("making some data")
    for k in range(10):
        root = [range(i,1000) for i in range(1,1000)]
    print("len(gc.get_objects):",len(gc.get_objects()))
    print("gc.get_stats:",gc.get_stats())
    print("gc.get_count:",gc.get_count())

以下是输出:

making some data
len(gc.get_objects): 7130
gc.get_stats: [{'collections': 16, 'collected': 99, 'uncollectable': 0}, {'collections': 1, 'collected': 0, 'uncollectable': 0}, {'collections': 0, 'collected': 0, 'uncollectable': 0}]
gc.get_count: (75, 5, 1)

很明显,count0=75,count1=5,count2=1。你知道吗

什么是count0,count1和count2?你知道吗


Tags: getlenobjectsstatscountrangecollectionsgc
1条回答
网友
1楼 · 发布于 2024-09-27 00:16:11

gc包中的“gc”指的是“垃圾收集”。它是一组实际操作的方法,您可以通过这些方法从系统中接管垃圾收集任务。这样做可以释放资源并简化程序执行的效率。但需要注意的是,系统垃圾收集管理已经相当不错了。是的,系统为您创建和引用的每个变量创建了一堆对象和其他开销,是的,这些开销可能会持续很长时间(即使您调用del命令),但总的来说,这并没有什么坏处。你知道吗

你知道吗gc.get\U计数()返回一个元组,指示系统保留的对象引用的内部内务管理计数。这些是系统知道何时可以(自动)收集垃圾的计数。你知道吗

元组的三个值中的每一个表示三代中的对象(引用)。Python总共保存了三代人的列表。每当一个对象在垃圾收集事件中幸存下来时,它就被上移到下一代。(75,5,1)表示最新一代有75个对象,中间代有5个对象,最老一代有1个对象。你知道吗

计数是内部系统值,而不是您分配或(很大程度上)直接控制的值。可以使用重置某些值gc.收集(),释放大量资源;您可以使用gc.get\u阈值()和gc.set\u阈值(). 但是对于除了最难的核心程序员和开发人员(我当然不是其中之一)以外的所有人来说,垃圾收集最好由python系统来完成。你知道吗

这能回答问题吗?你知道吗

学分: 关于gc.get\U计数()方法收集自stactify.com/python公司-垃圾收集/

相关问题 更多 >

    热门问题