public static void main(String[] args){
ThreadRunnableDemo ti = new ThreadRunnableDemo();
Thread tr = new Thread(ti,"测试1");
tr.run();
Thread td = new Thread(ti,"测试2");
td.start();
}start() 和run()这两种方法有什么区别

解决方案 »

  1.   

    start会启动一个新线程运行run中的代码run会在当前线程内执行
      

  2.   

    run只是一个普通的方法,必须用start来启动Thread对象的线程机制
      

  3.   

    run()不是Thread的方法,是Runnable接口的方法。start才是Thread类的方法,要调用start(),才能启动一个线程。直接调用run,只是在同一个线程内调用run()。
      

  4.   

    start是启动线程
    run是运行方法
      

  5.   

    怎么这么问哦,你调用run()方法相当于调用你那个类的一个方法了啊,即使你没有实现Runnable接口写个run方法进行调用,与你这儿调用run方法是一样的,并不会开启一个线程。开启线程必须用Start方法,他自己去调run方法
      

  6.   

    1、start启动线程
    2、run  在 1 的基础上执行线程方法(run 方法)
      

  7.   

    start()方法是让当前线程处于就绪的状态,被调用后并不马上运行此线程
    run()方法包含本线程需要做的事情,一般,调用start()方法后,jvm会自动调用run方法
      

  8.   

    做爱(run())前先带安全套 (start())