Hi, don't sleep, here is one question:
Given the code below
public class ThreadDemo extends
Thread[
public void run(){
System.out.println("Thread started");
try{
Thread.sleep(20000); //20 seconds sleep
System.out.println("I am Back from my sleep");
}
catch(InterruptedException e){
System.out.println("I got Interrupted");
}
}
}
Which of the following statements are true?
A.Exactly 20 seconds after the start method
is called "I am Back from my sleep" be printed.
B.We can be sure that atleast after 20 seconds elapsed,
"I am Back from sleep" will be printed.
C.The delay between output "Thread started" and "I am Back
from sleep" is less or more than 20 seconds.
D.None of the above.
The answer given is B. But if this thread is interrupted by other thread or by system, can we still be sure that after 20 seconds "I am be Back from sleep" will be printed? Can someone explain to me?