سؤال

لدي تطبيق في Java، الذي أحاول فيه التأكد من أن أي شخص يخرج من الرموز System.exit () في التعليمات البرمجية، يجب استدعاء المستمع للقيام ببعض الأشياء مثل تسجيل الرسائل وإصدار الموارد ...

كيف يمكنني تطبيقه، أي اقتراح / نهج هو موضع ترحيب.

هل كانت مفيدة؟

المحلول

ال Runtime.addShutdownHook يمكن استخدام الطريقة لإضافة خطاف إيقاف التشغيل، وهو أساسا غير متقدمة Thread, ، والتي تنفذ على إيقاف تشغيل الجهاز الظاهري Java.

ومع ذلك، فإن هذا هو الإقليم الذي يجب أن يخطئ بعناية، حيث يتم تنفيذها في وقت حساس للغاية لدورة حياة JVM. من مواصفات API ل Runtime.addShutdownHook طريقة:

يتم تشغيل خطافات الإغلاق في وقت حساس في دورة حياة الجهاز الظاهري، وبالتالي يجب ترميزها بشكل دفاعي. يجب أن يكونوا، على وجه الخصوص، مكتوبة ليكون آمنا لخيط الخيط وتجنب القضاء على الجمود بقدر الإمكان.

على أي حال، تأكد من قراءة بعض الشيء حول كيفية عمل Shutdown Hooks، لأنها ربما لا ينبغي التعامل معها دون إعداد جيد. تأكد من قراءة مواصفات API بعناية Runtime.addShutdownHook طريقة.

إليك مقالات زوجين وجدت من البحث عن معلومات لهذه الإجابة:

نصائح أخرى

الوظيفة Runtime.addShutdownHook(Thread thehook) يسمح لك بتسجيل خطاف في الجهاز الظاهري Java.
يعمل الخطاف كخيط مهيئ ولكن غير مشترك، والذي سيتم استدعاؤه بواسطة JVM عند الخروج. في حال قمت بتسجيل أكثر من خطاف واحد، لاحظ أن الترتيب الذي يتم فيه استدعاء السنانير غير محددة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top