This bài viết nóiTại sao các lớp học với finalizers cần nhiều hơn một chu kỳ thu gom rác thải?
Nếu một đối tượng có một finalizer, nó không phải là ngay lập tức bị loại bỏ khi các nhà sưu tập rác quyết định nó không còn ‘sống’. Thay vào đó, nó sẽ trở thành một loại đặc biệt của root cho đến khi .NET đã gọi phương thức finalizer. Điều này có nghĩa là các đối tượng này thường yêu cầu nhiều hơn một bộ sưu tập rác sẽ bị xóa khỏi bộ nhớ vì chúng sẽ tồn tại trong thời gian đầu tiên mà chúng không được sử dụng.
Câu hỏi của tôi là tại sao GC không gọi finalizer khi tìm thấy đối tượng đó không thể được tham chiếu nữa và thu thập đối tượng ngay lập tức? tại sao nó cần nhiều hơn vào bộ sưu tập rác?