创建线程的几种方式
1、继承Thread类创建线程
Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个native方法,它将启动一个新线程,并执行run()方法。这种方式实现多线程很简单,通过自己的类直接extend Thread,并复写run()方法,就可以启动新线程并执行自己定义的run()方法。
1 public class Test {
2 public static void main(String[] args){
3 MyThread t1 = new MyThread();
4 MyThread t2 = new MyThread();
5 t1.start();
6 t2.start();
7 }
8 }
9
10 class MyThread extends Thread {
11 public void run(){
12 System.out.println("MyThread.run()");
13 }
14 }
2、实现Runnable接口创建线程
如果自己的类已经extends另一个类,就无法直接extends Thread,此时,可以实现一个Runnable接口,如下:
1 public class MyThread extends OtherClass implements Runnable {
2 public void run() {
3 System.out.println("MyThread.run()");
4 }
5 }
为了启动MyThread,需要首先实例化一个Thread,并传入自己的MyThread实例:
1 MyThread myThread = new MyThread();
2 Thread thread = new Thread(myThread);
3 thread.start();