java多线程--run方法和start方法的区别

/*创建一个线程  Thread t1 = new Thread();
t1.run();  只是调用了一个普通方法,并没有启动另一个线程,程序还是会按照顺序执行相应的代码。
t1.start();  则表示,重新开启一个线程,不必等待其他线程运行完,只要得到cup就可以运行该线程。*/

package puzzle;
public class test {
	public static void main(String[] args) {
		Thread t1=new Thread(){
			public void run() {
				pong();
			}
		};
		t1.start();
		System.out.println("ping");
	}
	static void pong(){
		System.out.println("pong");
	}
}

执行结果是

ping
pong

再试试run方法

public class test {
	public static void main(String[] args) {
		Thread t1=new Thread(){
			public void run() {
				pong();
			}
		};
		t1.run();
		System.out.println("ping");
	}
	static void pong(){
		System.out.println("pong");
	}
}

执行结果

pong
ping

 

没有更多推荐了,返回首页