1. 使用Thread创建并启动线程
继承java.lang.Thread类,并重写run()方法。
1 public class TestThread extends Thread{ 2 3 @Override 4 5 public void run() { 6 7 for(int i=0;i<100;i++){ 8 9 System.out.println("我是线程"); 10 11 } 12 13 } 14 15 }
创建和启动线程:
1 … 2 3 Thread thread = new TestThread();//实例化线程 4 5 thread.start();//启动线程 6 7 …
2. 用Runnable创建并启动线程
实现Runnable接口并重写run方法来定义线程体,然后在创建线程的时候将Runnable的实例传入并启动线程。
1 public class TestRunnable implements Runnable{ 2 3 @Override 4 5 public void run() { 6 7 for(int i=0;i<100;i++){ 8 9 System.out.println("我是线程"); 10 11 } 12 13 } 14 15 }
启动线程的方法:
… Runnable runnable = new TestRunnable(); Thread thread = new Thread(runnable);//实例化线程并传入线程体 thread.start();//启动线程 …
3. 使用内部类创建线程
通常我们可以通过匿名内部类的方式创建线程,使用该方式可以简化编写代码的复杂度,当一个线程仅需要一个实例时我们通常使用这种方式来创建。
3.1 继承Thread方式:
1 Thread thread = new Thread(){ //匿名类方式创建线程 2 3 public void run(){ 4 5 //线程体 6 7 } 8 9 }; 10 11 thread.start();//启动线程
3.2 Runnable方式:
1 Runnable runnable = new Runnable(){ //匿名类方式创建线程 2 3 public void run(){ 4 5 } 6 7 }; 8 9 Thread thread = new Thread(runnable); 10 11 thread.start();//启动线程