Java--Thread 中run()方法和start()方法的区别
- start() 方法在调用的时候 会创建一个执行 ***run()***方法的一个新的线程.
- ***run()***方法只会在同一个线程中执行这个方法
public class Tset1 {
public static void main(String[] args) {
MyThread t2=new MyThread();
t2.start();
for (int i = 0; i < 10; i++)
System.out.println("t1 test!!");
}
}
class MyThread extends Thread{
@Override
public void run() {
System.out.println("t2 test!!!!");
}
}
- 如上述代码 main 方法中会输出10次 t1 如果是多线程 的情况 那么 t2中的输出 有可能会夹在 t1中也就是下面这种情况
- 如果把main方法中的 t2.start() 改成 t2.run() 则 t2必定会在t1之前输出 :
Q.E.D.