उदाहरण
public class Main{ static volatile boolean exit = false; public static void main(String[] args){ System.out.println("Starting the main thread"); new Thread(){ public void run(){ System.out.println("Starting the inner thread"); while (!exit){ } System.out.println("Exiting the inner thread"); } }.start(); try{ Thread.sleep(100); } catch (InterruptedException e){ System.out.println("Exception caught :" + e); } exit = true; System.out.println("Exiting main thread"); } }
आउटपुट
Starting the main thread Starting the inner thread Exiting main thread Exiting the inner thread
मुख्य वर्ग एक नया धागा बनाता है, और उस पर 'रन' फ़ंक्शन को कॉल करता है। यहां, एक बूलियन मान परिभाषित किया गया है, जिसे 'निकास' नाम दिया गया है, जो शुरू में गलत पर सेट है। थोड़ी देर के लूप के बाहर, 'स्टार्ट' फ़ंक्शन को कहा जाता है। कोशिश ब्लॉक में, नव निर्मित थ्रेड एक विशिष्ट समय के लिए सोता है जिसके बाद अपवाद पकड़ा जाएगा, और स्क्रीन पर प्रासंगिक संदेश प्रदर्शित होगा। इसके बाद, मुख्य थ्रेड बाहर निकल जाएगा क्योंकि निकास का मान 'सत्य' पर सेट हो जाएगा।