I must be missing something:
public class Test {
public static void main(String[] args) {
(new Thread(new Action())).run();
System.out.pr
Call start()
instead of run()
to start a thread.
Simply calling run()
means a method call with infinite loop in the same main
thread that will block the next statement written in main
thread.
Have a look at Java Tutorial on Defining and Starting a Thread
I should be (new Thread(new Action())).start();
to start a thread but still it will create an infinite loop and the new started thread will never stop.
Try with Thread.currentThread().getName()
to confirm it again as shown below:
public void run() {
System.out.println(Thread.currentThread().getName()); // output "main"
}