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");
    }
}

猜你喜欢

转载自www.cnblogs.com/hujinshui/p/9961268.html