创建线程的两种方法:
第一种,定义线程,实现 Runnable接口
public class TestThread1{
public static void main(String args[]){
Runner1 r=new Runner1();
r.run();
//Thread t=new Thread(r);//方法1
//t.start();//方法1
for (int i =0;i<100;i++){
System.out.println("Main Thread:---------" + i);
}
}
}
class Runner1 implements Runnable{
public void run(){
for (int i =0;i<100;i++){
System.out.println("Runner1:" + i );
}
}
}
Start:Runner1和Main Thread交替运行。
run:Runner1先运行,Main Thread后运行
第二种,定义一个Thread的子类,并重写它的方法。
public class TestThread1{
public static void main(String args[]){
Runner1 r=new Runner1();
r.start();
//r.run();
// Thread t=new Thread(r);
// t.start();
for (int i =0;i<100;i++){
System.out.println("Main Thread:---------" + i);
}
}
}
class Runner1 extends Thread{
public void run(){
for (int i =0;i<100;i++){
System.out.println("Runner1:" + i );
}
}
}
建议:从接口来做一个线程比较灵活,推荐大家能使用接口的时候不要从Thread继承。继承就只能继承一个的,控制起来比较麻烦。
附录: