实现多线程的两种方式:
1、继承Thread类,重写run方法
2、实现Runnable接口,实现run方法。【推荐,实现接口之外保留了类的继承】
/* 第一种方式:继承java.lang.Thread,重写run方法。 */ public class ThreadTest01 { public static void main(String[] args){ //创建线程 Thread t = new Processor(); //启动,分配新的栈内存,告诉JVM分配一个新的栈给t线程 t.start(); //t.run(); 普通方法调用,没有启动新的线程 //在主线程中执行 for(int i=0;i<5;i++){ System.out.println("main---->"+i); } //main方法结束只是主线程栈中没有方法栈针了,但是其他线程或其他栈中还有栈针,main方法结束,程序可能还在运行。 } } //定义一个线程 class Processor extends Thread { //重写run方法 public void run(){ for(int i=0;i<10;i++){ System.out.println("Processor---->"+i); } } }
/* 第二种方式:实现java.lang.Runnable,重写run方法。 */ public class ThreadTest02 { public static void main(String[] args) { //创建线程 Thread t = new Thread(new Processor()); //启动 t.start(); } } class Processor implements Runnable { public void run(){ for(int i=0;i<10;i++){ System.out.println("Processor---->"+i); } } }