实现Runable接口创建线程

优点

相较于 继承Thread类创建线程 实现 Runable 的 run 方法不受父类继承的限制,并且可以多个 线程同时执行通一份代码,不需要创建多个实例。

缺点

任务没有返回值,可以 使用 FutureTask创建线程
只能使用主线程里面被声明为 final 的变量。

public static class RunableTask implements Runnable{  
    @Override  
    public void run() {  
        System.out.println("I am a child thread");  
    }  
}  
    public static void main(String[] args) throws InterruptedException{  
        RunableTask task = new RunableTask();  
        new Thread(task).start();  
        new Thread(task).start();  
    }