创建线程的两种方法:
第一种,定义线程,实现 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继承。继承就只能继承一个的,控制起来比较麻烦。
附录: