下面是两种传统的java创建线程的方法,什么是线程呢,就是在进程中在开出一点空间,同时运行另一个线索,或者叫另一个任务
public class TraditionalThread {
/**
* @param args
*/
public static void main(String[] args) {
//第一种创建线程的方法
Thread t1 = new Thread(){
public void run(){
System.out.println("t1--"+Thread.currentThread().getName());
}
};
t1.start();
//第二种创建线程的方法
Thread t2 = new Thread(new Runnable(){
@Override
public void run() {
System.out.println("t2--"+Thread.currentThread().getName());
}});
t2.start();
//测试这个线程执行那个方法,这个运行的是Thread中的run方法,而没有运行Runnable中的run方法,为什么呢?
//因为t3已经把Thread中的run方法覆盖了,所以传进去的参数不作用。
//要想了解具体原因请看Thread类的源码。
Thread t3 = new Thread(new Runnable(){
public void run(){
System.out.println("t3-Runnable()"+Thread.currentThread().getName());
}
}){
public void run(){
System.out.println("t3-run--"+Thread.currentThread().getName());
}
};
t3.start();
}
}