Tại sao nên tránh phương pháp finalize?

Mục lục:

Tại sao nên tránh phương pháp finalize?
Tại sao nên tránh phương pháp finalize?
Anonim

Ngay cả trong chương trình của chúng tôi, nó không thể chạy phương thức finalize cho cả 3 luồng. “Phương thức này vốn không an toànNó có thể dẫn đến việc các trình hoàn thiện được gọi trên các đối tượng trực tiếp trong khi các luồng khác đang đồng thời thao tác các đối tượng đó, dẫn đến hành vi thất thường hoặc bế tắc.”

Tại sao nên tránh phương pháp finalize trong C ?

Phương thức Finalize của một đối tượng không được gọi một phương thức trên bất kỳ đối tượng nào ngoài đối tượng của lớp cơ sở của nó. Điều này là do các đối tượng khác đang được gọi có thể được thu thập cùng lúc với đối tượng đang gọi, chẳng hạn như trong trường hợp tắt thời gian chạy ngôn ngữ chung.

Chúng ta có nên ghi đè phương thức Finalize không?

Phương thức finailzenên được ghi đè cho một đối tượng để bao gồm mã dọn dẹp hoặc để xử lý tài nguyên hệ thống cần được thực hiện trước khi đối tượng được thu dọn.

Điều gì sẽ xảy ra nếu ngoại lệ được đưa ra bởi phương thức Finalize?

Nếu một ngoại lệ chưa được giải quyết được đưa ra bởi phương thức finalize, ngoại lệ sẽ bị bỏ qua và việc hoàn thiện đối tượng đó chấm dứt. … Bất kỳ ngoại lệ nào được đưa ra bởi phương thức finalize đều khiến quá trình hoàn thiện đối tượng này bị tạm dừng, nhưng nếu không thì sẽ bị bỏ qua.

Mục đích của phương pháp hoàn thiện là gì?

Phương thức cuối cùng của lớp Đối tượng là một phương thức mà Trình thu gom rác luôn gọi ngay trước khi xóa / hủy đối tượng đủ điều kiện để Thu gom rác, để thực hiện hoạt động dọn dẹp.

Đề xuất: