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

Discussion

Sample53 is run - what will be the output?

import java.util.concurrent.*;

public class Sample53
{
    public static void main(String[] args) throws Exception
    {
        ExecutorService pool = Executors.newSingleThreadExecutor();
        pool.submit(() ->
        {
            try { Thread.sleep(5000); }
            catch (InterruptedException e) { System.out.println("stopped early"); }
        });
        Thread.sleep(100);
        pool.shutdownNow();
    }
}

  • A.stopped early
  • B.Nothing
  • C.The program waits five seconds and prints nothing.
  • D.A RejectedExecutionException from shutdownNow()

Answer: A

shutdownNow interrupts the threads running the current tasks as well as refusing new ones, and a task asleep at the time receives InterruptedException. Plain shutdown would only stop new submissions and let the sleep finish.

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

Post your comment

Please log in or register to post a comment.