java面试题之Thread的run()和start()方法有什么区别

Posted hujinshui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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");
    }
}

 

以上是关于java面试题之Thread的run()和start()方法有什么区别的主要内容,如果未能解决你的问题,请参考以下文章

java面试题之第一回

java面试题之sleep()和wait()方法的区别

面试题之Runnable和Callable的区别

iOS面试题之runloop

3.Java异常进阶

Java面试题多线程的创建