System.exit()প্রোগ্রামটি ছাড়ার আগে শাটডাউন হুক চালাতে ব্যবহার করা যেতে পারে । এটি বড় প্রোগ্রামগুলিতে শাটডাউন পরিচালনা করার একটি সুবিধাজনক উপায়, যেখানে প্রোগ্রামের সমস্ত অংশ একে অপর সম্পর্কে সচেতন হতে পারে না (এবং হওয়া উচিত নয়)। তারপরে, যদি কেউ ছাড়তে চান, তবে তিনি কেবল কল করতে পারেন System.exit()এবং শাটডাউন হুকগুলি (যদি সঠিকভাবে সেট আপ করা থাকে) সমস্ত প্রয়োজনীয় শাটডাউন অনুষ্ঠান যেমন ফাইল বন্ধ করা, সংস্থানগুলি রিলিজ করা ইত্যাদি যত্ন নেবে take
"এই পদ্ধতিটি কখনই স্বাভাবিকভাবে ফিরে আসে না।" মানে কেবল যে পদ্ধতিটি ফিরে আসবে না; একবার যদি একটি সুতা সেখানে যায়, এটি আর ফিরে আসবে না।
আরেকটি, সম্ভবত আরও সাধারণ, কোনও প্রোগ্রাম ছাড়ার উপায় হ'ল mainপদ্ধতিটির শেষে পৌঁছানো । তবে যদি কোনও নন-ডেমন থ্রেড চলমান থাকে তবে সেগুলি বন্ধ হবে না এবং এইভাবে JVM প্রস্থান করবে না। সুতরাং, আপনার যদি এই জাতীয় কোনও ডেমন থ্রেড থাকে তবে আপনার সমস্ত ডিমন-থ্রেড বন্ধ করতে এবং অন্যান্য সংস্থানগুলি ছেড়ে দেওয়ার জন্য অন্য কিছু উপায় (শাটডাউন হুক ব্যতীত) দরকার। যদি অন্য কোনও ডিমন-থ্রেড না থাকে, তবে ফিরে আসা mainজেভিএমকে বন্ধ করবে এবং শাটডাউন হুকগুলিকে কল করবে।
কোনও কারণে শাটডাউন হুকগুলি একটি অবমূল্যায়িত এবং ভুল বোঝাবুঝি ব্যবস্থা বলে মনে হচ্ছে এবং লোকেরা তাদের প্রোগ্রামগুলি বন্ধ করতে সমস্ত ধরণের মালিকানাধীন কাস্টম হ্যাকের সাথে চাকাটিকে পুনরায় উদ্ভাবন করছে। আমি শাটডাউন হুক ব্যবহার করে উত্সাহিত করব; এটি স্ট্যান্ডার্ড রানটাইমের মধ্যে রয়েছে যা আপনি যেভাবেই ব্যবহার করতে পারবেন।