Java 线程可以通过 extends Thread 类 来实现,也可以 implements Runnable 接口 来实现。

示例

下面的例子分别给出了通过 extends Thread 和 implements Runnable 来实现线程的例子。可以看出,无论哪种方法,都要实现 public static void run() 方法,调用时先 new Runner()new ExtendsThread,然后将 new 出的对象传入Thread(), 构造一个 Thread 对象, 调用 Thread 对象的 start() 方法就可以使线程运行起来了。

public class MultiThread {
    public static void main(String[] args){
        Runner runner = new Runner();
        ExtendsThread thread = new ExtendsThread();

        Thread runnerThread = new Thread(runner);
        Thread extendsThread = new Thread(thread);

        runnerThread.start();
        extendsThread.start();
    }
}

class ExtendsThread extends Thread{
    public void run(){
        for(int i = 0; i < 10; i++){
            System.out.println("ExtendsThread: " + i);
            try {
                Thread.sleep(1000);
            }catch(Exception e){
                e.printStackTrace();
            }
        }
    }
}

class Runner implements Runnable{
    public void run(){
        for(int i = 0; i < 10; i++){
            System.out.println("Runner: " + i);
            try {
                Thread.sleep(500);
            }catch(Exception e){
                e.printStackTrace();
            }
        }
    }
}