假设有个PureThread,继承了Thread,定义如下:
public class PureThread extends Thread {
public void run() {
System. out .println(Thread.currentThread().getName()+ ” r1” );
}
}
我们现在来写个测试类测试:
测试1:
public class TestPureThread {
public static void main(String args[]){
PureThread p1= new PureThread();
PureThread p2 =new PureThread();
p1.run();
}
}
输出结果:main r1
这里只有一个主线程main,按照程序往下进行,执行到p1.run()语句的时候就去调用了p1的方法,跟调用一般对象的某个方法没有区别。
测试2:
public class TestPureThread {
public static void main(String args[]){
PureThread p1 =new PureThread();
PureThread p2 =new PureThread();
p1 .start();
p1 .run();
}
}
输出结果:main r1
Thread-0 r1
p1.start会创建一个新的线程并且启动它,所以此时有两个线程,也能看到输出了两个语句,第一行是主线程执行到p1.run()的时候去调用了p1中的run方法&#