Java 中多线程初窥

参阅了关于JAVA中多线程的博客:http://avaj.iteye.com/blog/148702
class mainThread{
public static void main(String args[]){
System.out.println(Thread.currentThread().getName());
Runnable r=new ThreadTest2();
Thread t1=new Thread(r,"t1");
Thread t2=new Thread(r,"t2");

t1.start();
t2.start();
t1.run();//主线程调用t1对象的run()方法
}
}

class ThreadTest2 implements Runnable{
public void run(){
for(int i=0;i<3;i++){
System.out.println(Thread.currentThread().getName()+" "+i);
}
}
}

程序运行结果为:
main
main 0
main 1
main 2
t1 0
t1 1
t1 2
t2 0
t2 1
t2 2
我的题解是,程序运行,开始是主线程运行,所以打印出"main",主线程继续运行,由于主线程调用和t1对象的run()方法,所以继续打印main 0……,然后才运行子线程的此类方法!
当然,把里面的i次数变大,更能看到线程的运行过程,当然,得运持多次哦

你可能感兴趣的:(java,thread,多线程,main)