Machine-translated by Google. Questions are authored in English.
Top

Discussion

Sample35 is run - what will be the output?

public class Sample35
{
    public static void main(String[] args) throws InterruptedException
    {
        Thread t = new Thread(() ->
        {
            try { Thread.sleep(2000); } catch (InterruptedException e) { }
        });
        t.start();
        t.join(100);
        System.out.println(t.isAlive());
    }
}

  • A.Either value, depending on the scheduler
  • B.An InterruptedException is reported.
  • C.true
  • D.false

Answer: C

join with a timeout waits at most that long and then returns whether or not the thread has died. The worker sleeps for two seconds, so after a hundred milliseconds it is certainly still alive. The difference from the untimed join is that this one does not guarantee termination.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.