Java基础之多线程系列二:创建(实现Runnable接口)

  • Post author:
  • Post category:java




创建多线程程序的第二种方法:实现Runnable接口

  • java.lang.Runnable Runnable接口应该由那些打算通过某一线程执行其实例的类来实现,类必须定义一个称为 run 的无参数方法。

实现步骤:

  1. 创建一个Runnable接口的实现类;
  2. 在实现类中重写Runnable接口的run方法,设置线程任务;
  3. 创建一个Runnable接口的实现类对象;
  4. 创建Thread类对象,构造方法中传递Runnable接口的实现类对象;
  5. 调用Thread类中start方法,开启新的线程执行run方法。

创建Runnable接口实现类

package com.zrz.demo02;
//1. 创建一个Runnable接口的实现类;
public class RunnableImpl implements Runnable{
    //2. 在实现类中重写Runnable接口的run方法,设置线程任务;
    @Override
    public void run() {
        for(int i=0;i<20;i++){
            System.out.println(Thread.currentThread().getName()+"-->"+i);
        }
    }
}

创建一个Runnable接口的实现类对象

package com.zrz.demo02;

public class RunnableDemo01 {
    public static void main(String[] args) {
        //3. 创建一个Runnable接口的实现类对象;
        RunnableImpl run = new RunnableImpl();
        //4. 创建Thread类对象,构造方法中传递Runnable接口的实现类对象;
        Thread t = new Thread(run);
        //5. 调用Thread类中start方法,开启新的线程执行run方法。
        t.start();
        for(int i=0;i<20;i++){
            System.out.println(Thread.currentThread().getName()+"-->"+i);
        }
    }
}

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

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

    前者一个类只能继承一个接口,类继承了Thread类就不能继承其他的类;

    后者实现了Runnable接口,还可以继承其他的类,实现其他的接口;
  2. 增强了程序的扩展性,降低了程序的耦合性:

    实现了Runnable接口的方式,把设置线程任务和开启线程任务进行了分离(解耦);

    实现类中重写了run方法,用来设置线程任务;

    创建Thread类对象,调用start方法,用来开启新线程。



版权声明:本文为m0_46352325原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。