Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Garbage Collector Interface (gc)


Automatic garbage collection เป็นหนึ่งในคุณสมบัติสำคัญของ Python กลไก Garbage collector พยายามเรียกคืนหน่วยความจำที่ถูกครอบครองโดยอ็อบเจกต์ที่ไม่ได้ถูกใช้งานโดยโปรแกรมอีกต่อไป

Python ใช้กลไก reference counting สำหรับ garbage collection Python interpreter นับจำนวนครั้งที่อ็อบเจกต์ถูกอ้างอิงโดยอ็อบเจกต์อื่น เมื่อ reference ไปยังอ็อบเจกต์ถูกลบ จำนวนนับสำหรับอ็อบเจกต์จะลดลง เมื่อ reference count กลายเป็นศูนย์ หน่วยความจำของอ็อบเจกต์จะถูกเรียกคืน

ปกติกลไกนี้ทำงานอัตโนมัติ อย่างไรก็ตาม สามารถทำได้ตั้งใจหากสถานการณ์บางอย่างเกิดขึ้นในโปรแกรม โมดูล 'gc' กำหนด garbage collection interface ฟังก์ชันต่อไปนี้ถูกกำหนดในโมดูล 'gc'

enable()
 เปิดใช้งาน automatic garbage collection อัตโนมัติ
disable()
 ปิดใช้งาน automatic garbage collection
isenabled()
 คืนค่า true หาก automatic collection เปิดใช้งาน
collect()
โดยไม่มีอาร์กิวเมนต์ รัน full collection อาร์กิวเมนต์ integer ทางเลือกระบุ generation ที่จะ collect (จาก 0 ถึง 2) ValueError จะถูกยกขึ้นหาก generation number ไม่ถูกต้อง จำนวน unreachable objects ที่พบจะถูกคืนค่า
set_threshold()
 ตั้งค่า garbage collection thresholds (ความถี่ในการ collect)
get_threshold()
 คืนค่า collection thresholds ปัจจุบันเป็น tuple
callbacks
 ลิสต์ของ callbacks ที่จะถูกเรียกโดย garbage collector ก่อนและหลัง collection