天天看点

实现Runable接口创建多线程的好处

1.避免了单继承的局限性

实现了Runable的接口,还可以继承其他的类,实现其他的接口

2.增强了程序的扩展性,降低了程序的耦合度

把设置线程任务和开启新线程进行了分离

3.匿名内部类方式实现线程的创建

匿名内部类作用:简化代码

把子类继承父类,重写父类的方法,创建子类对象一步完成。

匿名内部类的最终产物:子类、实习类对象,而这个类没有名字

格式:

new 父类、接口(){

重写父类、接口中的方法

}

public static void main(String[] args) {
        //线程的父类 是thread
        new Thread(){
            @Override
            public void run() {
                for (int i = 0; i < 20; i++) {
                    System.out.println(Thread.currentThread().getName() + i);
                }
            }
        }.start();

        //线程的接口是Runable
        //Runable r = new RunableImpl();多态
        Runnable r = new Runnable(){
            @Override
            public void run() {
                for (int i = 0; i < 20; i++) {
                    System.out.println(Thread.currentThread().getName() + i);
                }
            }
        };
        new Thread(r).start();

        //简化接口的方式
        new Thread(new Runnable() {
            @Override
            public void run() {
                for (int i = 0; i < 20; i++) {
                    System.out.println(Thread.currentThread().getName() + i);
                }
            }
        }).start();
    }