Logo fa.boatexistence.com

چرا باید از روش نهایی کردن اجتناب کرد؟

فهرست مطالب:

چرا باید از روش نهایی کردن اجتناب کرد؟
چرا باید از روش نهایی کردن اجتناب کرد؟

تصویری: چرا باید از روش نهایی کردن اجتناب کرد؟

تصویری: چرا باید از روش نهایی کردن اجتناب کرد؟
تصویری: چگونه شاد باشیم؟ 7 عادت بد که برای خوشحال بودن باید ترک کنید 2024, ممکن است
Anonim

حتی در برنامه ما نمی تواند روش نهایی را برای هر 3 رشته اجرا کند. "این روش ذاتاً ناامن است ممکن است منجر به فراخوانی نهایی‌کننده‌ها بر روی اشیاء زنده شود در حالی که رشته‌های دیگر همزمان آن اشیاء را دستکاری می‌کنند و منجر به رفتار نامنظم یا بن بست می‌شود. "

چرا باید از روش نهایی C اجتناب شود؟

متد Finalize یک شی نباید متدی را روی هیچ شیئی غیر از کلاس پایه اش فراخوانی کند. این به این دلیل است که اشیاء دیگری که فراخوانی می شوند می توانند همزمان با شیء فراخوانی جمع آوری شوند، مثلاً در مورد خاموش شدن زمان اجرا زبان مشترک.

آیا باید روش نهایی را لغو کنیم؟

روش finailze باید برای یک شی لغو شود تا کد پاکسازی را شامل شود یا منابع سیستمی را که باید قبل از جمع‌آوری زباله انجام شود، دور ریخته شود.

اگر استثنا با روش Finalize پرتاب شود چه اتفاقی می افتد؟

اگر یک استثنای کشف نشده توسط متد finalize پرتاب شود، استثنا نادیده گرفته می شود و نهایی شدن آن شی خاتمه می یابد. … هر استثنایی که توسط روش finalize پرتاب شود باعث می شود نهایی سازی این شی متوقف شود، اما در غیر این صورت نادیده گرفته می شود.

هدف از روش نهایی چیست؟

روش نهایی کلاس Object متدی است که Garbage Collector همیشه درست قبل از حذف/از بین بردن شیء واجد شرایط برای Garbage Collection فراخوانی می کند تا فعالیت پاکسازی را انجام دهد.

توصیه شده: