以上两张图片是《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.......");
}