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

Discussion

Sample01 is run - what will be the output?

public class Sample01
{
    public static void main(String[] args)
    {
        Thread t = new Thread(() -> System.out.println(
                Thread.currentThread().getName()));
        t.run();
    }
}

  • A.main
  • B.Thread-0
  • C.Sample01
  • D.Nothing is printed.

Answer: A

run() is called directly, so it is an ordinary method call and no new thread is created. The body therefore executes on the thread that made the call, which is main, and currentThread() reports that name. Replacing run() with start() would print Thread-0 instead.

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

Post your comment

Please log in or register to post a comment.