多线程中start和run方法的区别

来源:互联网 发布:判断闰年的java程序 编辑:程序博客网 时间:2024/06/06 02:50

1、当线程启动时调用了start()方法,这便可体现多线程的特性,不同线程的run方法里面的代码会交替执行。

2、当线程启动时调用了run()方法,那代码还是同步的,必须等待一个线程执行完之后再执行另外线程的run方法,相当于顺序执行。

代码示例

package threads;/** * 第一种:继承Thread类,创建线程时,每个线程会数据隔离 * @author Administrator * */public class CreateByThread extends Thread{    private int i;    //重写run方法,run方法内的代码便是线程执行体    public void run(){    for(;i<100;i++){    System.out.println(getName()+" "+i);    }    }public static void main(String[] args){for(int i=0;i<100;i++){System.out.println(Thread.currentThread().getName()+" "+i);if(i==20){new CreateByThread().start();//创建线程0new CreateByThread().run();//创建线程1new CreateByThread().run();//创建线程2}}}}




0 0