Logo th.boatexistence.com

เหตุใดจึงควรหลีกเลี่ยงวิธีการสรุปผล

สารบัญ:

เหตุใดจึงควรหลีกเลี่ยงวิธีการสรุปผล
เหตุใดจึงควรหลีกเลี่ยงวิธีการสรุปผล
Anonim

แม้ในโปรแกรมของเรา มันก็ยังไม่สามารถรันวิธีการสรุปผลสำหรับทั้ง 3 เธรดได้ “วิธีนี้ ไม่ปลอดภัยโดยเนื้อแท้ อาจส่งผลให้ตัวสุดท้ายถูกเรียกบนวัตถุที่มีชีวิตในขณะที่เธรดอื่นกำลังจัดการกับวัตถุเหล่านั้นพร้อมกัน ส่งผลให้เกิดพฤติกรรมผิดปกติหรือการหยุดชะงัก”

ทำไมจึงควรหลีกเลี่ยงวิธีจบ C

วิธีการ Finalize ของอ็อบเจ็กต์ไม่ควรเรียกใช้เมธอดบนอ็อบเจกต์อื่นนอกเหนือจากคลาสพื้นฐาน นี่เป็นเพราะ อ็อบเจ็กต์อื่นๆ ที่ถูกเรียกสามารถรวบรวมได้ในเวลาเดียวกันกับอ็อบเจ็กต์การเรียก เช่น ในกรณีของการปิดรันไทม์ภาษาทั่วไป

เราควรลบล้างวิธี Finalize หรือไม่

วิธีการ finailze ควรถูกแทนที่สำหรับอ็อบเจ็กต์ที่จะรวมโค้ดการล้างข้อมูล หรือเพื่อกำจัดทรัพยากรระบบที่ควรทำก่อนที่อ็อบเจ็กต์จะถูกรวบรวมขยะ

จะเกิดอะไรขึ้นหากข้อยกเว้นถูกส่งออกไปโดยวิธี Finalize

หากวิธีการปิดท้ายส่งข้อยกเว้นที่ไม่ถูกตรวจจับออก การยกเว้นจะถูกละเว้นและการสิ้นสุดของวัตถุนั้นจะสิ้นสุดลง … ข้อยกเว้นใด ๆ ที่เกิดจากวิธีการสรุปผลทำให้การสรุปวัตถุนี้ถูกระงับ แต่จะถูกละเว้น

จุดประสงค์ของวิธีการสรุปคืออะไร

วิธีจบของคลาส Object เป็นวิธีที่ the Garbage Collector เรียกเสมอก่อนการลบ/ทำลายวัตถุที่มีสิทธิ์ได้รับ Garbage Collection เพื่อดำเนินการทำความสะอาด.