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

Discussion

Which of these correctly schedules a task to run after a delay?

  • A.ExecutorService s = Executors.newFixedThreadPool(1); s.schedule(task, 5);
  • B.Executors.schedule(task, 5, TimeUnit.SECONDS);
  • C.new Thread(task).startAfter(5000);
  • D.ScheduledExecutorService s = Executors.newScheduledThreadPool(1); s.schedule(task, 5, TimeUnit.SECONDS);

Answer: D

Correct answer: ScheduledExecutorService s = Executors.newScheduledThreadPool(1); s.schedule(task, 5, TimeUnit.SECONDS);

Scheduling requires a ScheduledExecutorService, which a fixed thread pool is not, and the delay must carry a TimeUnit so that the number is unambiguous. Executors is a factory and has no schedule method of its own.

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

Post your comment

Please log in or register to post a comment.