• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

isInterrupted() or interrupted() !!!!

 
Greenhorn
Posts: 22
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Have a look at this code below..
public class TestThread extends Thread{
private String mesg="";
public void run(){

while(!isInterrupted()) {
try {
sleep(1000);
}
catch(InterruptedException e){
}
System.out.println(mesg);
}

}
public TestThread(String m) {
mesg = m;
setName(m);
}

public static void main(String[] args){


TestThread t1=new TestThread("good");

TestThread t2=new TestThread("goodhey");

TestThread t3=new TestThread("goodheyhey");


t1.start(); t1.interrupt();
t2.start(); t2.interrupt();
t3.start(); t3.interrupt();
System.out.println("Hey");
}
Which is better for a check in "while"
isInterrupted or interrupted()
 
Ranch Hand
Posts: 3271
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Murgan Sub:
Which is better for a check in "while"
isInterrupted or interrupted()


For this particular example, it probably won't make much difference, but there are some subtle differences between the Thread methods interrupted() and isInterrupted().
First of all, the method interrupted() is a static method. More importantly, however, the interrupted() method clears the interrupted status of the thread. Therefore, if a thread was interrupted, calling interrupted() once would return true, while a second call to it would return false. The isInterrupted() method, on the other hand is neither static nor does it affect the interrupted status of the thread.
You'll have to think about how you'd like your application to run to determine which you'd prefer to use.
Corey
 
Don't get me started about those stupid light bulbs.
reply
    Bookmark Topic Watch Topic
  • New Topic