Tự động garbage collection là một tính năng quan trọng của Python. Cơ chế garbage collector cố gắng thu hồi bộ nhớ bị chiếm bởi đối tượng không còn được chương trình sử dụng.
Python dùng cơ chế reference counting cho garbage collection. Python interpreter đếm số lần đối tượng được tham chiếu bởi đối tượng khác. Khi tham chiếu đến đối tượng bị xóa, count giảm. Khi reference count về 0, bộ nhớ đối tượng được thu hồi.
Cơ chế này thường tự động. Tuy nhiên, có thể thực hiện chủ động nếu tình huống cụ thể nảy sinh. Module gc định nghĩa garbage collection interface. Các hàm trong module gc:
| Function | Mô tả |
|---|---|
enable() | Bật tự động garbage collection. |
disable() | Tắt tự động garbage collection. |
isenabled() | Trả về True nếu auto collection đang bật. |
collect() | Chạy full collection (không đối số). Đối số int tùy chọn chỉ định generation collect (0-2). Raise ValueError nếu generation invalid. Trả về số đối tượng unreachable tìm thấy. |
set_threshold() | Đặt ngưỡng garbage collection (tần suất collect). |
get_threshold() | Trả về ngưỡng collection hiện tại dưới dạng tuple. |
callbacks | List callback được gọi bởi garbage collector trước và sau collection. |