实现Runnable接口

第二种创建线程方法,实现runnable接口

  1. 定义MyRunnable 类实现Runnable 接口
  2. 实现run()方法,编写线程执行体
  3. 创建线程对象,调用start()方法启动线程
public class MyRunnable implements Runnable {

    @Override
    public void run() {
        //线程体
        for (int i = 0;i<20;i++){
            System.out.println("输出=======");
        }
    }

    public static void main(String[] args) {
        //创建runnable接口的实现类对象
        MyRunnable myRunnable  = new MyRunnable();
        //创建线程对象,通过线程对象来开启线程(代理)
        Thread thread = new Thread(myRunnable);
        //开启线程
        thread.start();
        //匿名内部类简化
        //这边的name是线程的名字,myRunnable是实现Runnable接口的对象
        //new Thread(myRunnable,"name").start();
        for (int i = 0;i<1000;i++){
            System.out.println("==========");
        }

    }
}

小结

  • 继承Thread类

  • 子类继承Thread类具备多线程能力

  • 启动线程:子类对象.start()

  • 不建议使用:避免OOP单继承局限性

  • 实现Runnable接口

  • 启动线程:传入目标对象+Thread对象.start()

  • 推荐使用:避免单继承局限性,灵活方便,方便同一个对象被多个线程使用


第三种:使用Callable接口

posted @ 2021-03-03 08:30  PitayaWalk  阅读(16)  评论(0)    收藏  举报