java面试题之Thread的run()和start()方法有什么区别
run()方法:
是在主线程中执行方法,和调用普通方法一样;(按顺序执行,同步执行)
start()方法:
是创建了新的线程,在新的线程中执行;(异步执行)
public class App { public static void main( String[] args ){ Thread thread = new Thread(){ public void run(){ test2(); } }; // thread.start();//会按照顺序去执行线程,运行结果:test1;test2 thread.run();//只要cpu有空闲的线程就可以运行该线程 ,运行结果:test2;test1 System.out.println("test1"); } static void test2(){ System.out.println("test2"); } }
不积跬步无以至千里不积小流无以成江海