线程的run方法执行后的效果(及run方法与start方法的区别)

只有调用线程的start()方法才会启动线程
,例如,下面的没有调用start()方法,而只是调用了run()方法,运行后打印的线程的名称是主线程的名称。
线程的run方法执行后的效果(及run方法与start方法的区别)

run方法与start方法的区别

1 java中多线程有两个常见的方法start方法和run方法。正常来说run方法是多线程的线程体。

2 创建线程,可以使用extends Thread和implements Runnable
如:public class Thread1 extends Thread{

@Override
public void run() {
// TODO Auto-generated method stub
//super.run();
System.out.println(“当前线程:”+Thread.currentThread().getName()+" 运行了run方法");
}

}

3 线程的使用。可以通过new Thread().start()方法来启动。
如:Thread1 thread1=new Thread1();
thread1.start();//这是创造新的线程

4 如果执行start方法,则会在主线程中重新创建一个新的线程,等得到cpu的时间段后则会执行所对应的run方法体的代码。

5 如果创建了线程对象后,执行run方法,则还是在主线程中执行,会和调用普通方法一样。按照顺序执行。
如:Thread1 thread1=new Thread1();
thread1.run();//这是普通方法,还是在主线程中