java中线程的执行问题

图片说明图片说明
以上两张图片是《JAVA多线程编程核心技术》截图,以下是我的测试代码:
图片说明
求大神指教这是为什么要线程执行完之后才能输出run end

你应该调用Mythread的start()方法,而不是run()方法。

 myThread.start();

你的程序调用了run()还是在主线程中执行,并没有新建一个线程来执行的。

关于线程的详细你可以多去阅读相关资料。

因为你的线程是static的, 会先去执行你的线程, 你改为:

public  static void main(String[] args)  {
    new Thread(new Runnable() {

        @Override
        public void run() {
            System.out.println("MyThread running");

        }
    }).start();
    System.out.println("run end.......");
}