Java / Java Multithreading
Interrupts
indicates that the object has to stop doing what it does by calling interrupt() on the thread object.
When it receives an interrupt, it returns from the run() method .
package com.tutorials.threading; public class HandleInterruptedException { public static void main(String[] args) { String changeColors[] = { "BLUE", "YELLOW", "ORANGE", "WHITE", "BLACK" }; for (int i = 0; i < changeColors.length; i++) { // Pause for 5 seconds try { Thread.sleep(2000); if (i == 1) Thread.currentThread().interrupt(); } catch (InterruptedException e) { System.out.println("Interrupted . lets skip the color." + e); continue; } // Print color System.out.println(changeColors[i]); } } }
Output:
YELLOW
Interrupted. lets skip the color.java.lang.InterruptedException: sleep interrupted
WHITE
BLACK
When it iterates through colors array and at index 1,(YELLOW) the interrupt() is called on the executing thread (which becomes active after sleep), when it iterates through index 2, (ORANGE) sleep does not run because it is interrupted so it skips printing ORANGE.
Invest now in Acorns!!! 🚀
Join Acorns and get your $5 bonus!
Acorns is a micro-investing app that automatically invests your "spare change" from daily purchases into diversified, expert-built portfolios of ETFs. It is designed for beginners, allowing you to start investing with as little as $5. The service automates saving and investing. Disclosure: I may receive a referral bonus.
Invest now!!! Get Free equity stock (US, UK only)!
Use Robinhood app to invest in stocks. It is safe and secure. Use the Referral link to claim your free stock when you sign up!.
The Robinhood app makes it easy to trade stocks, crypto and more.
Webull! Receive free stock by signing up using the link: Webull signup.
More Related questions...
