1,Runnable接口启动线程的步骤:(start)

  1. 定义一个子类实现Runnable接口;
  2. 在实现类中重写run()方法;
  3. 创建实现类的对象;
  4. 创建Thread类的对象;并将实现类的对象传入Thread类对象的构造器参数中;
  5. 调用start方法启动新线程;(注意:还是一个对象启动一个新线程)

    2,Runnable接口的优缺:

  6. 好处:可以继续继承类和实现类的接口,拓展性比单继承Thread类强;

  7. 缺点:代码多一点罢了,需要创建两个对象;

    3,Runnable接口的使用:

    ```java //Mian方法类:继承实现类并创建两个对象启动新线程;

public class Text extends MyRunnable{ public static void main(String[] args) throws InterruptedException { //创建实现类的对象myRunnable MyRunnable myRunnable = new MyRunnable(); //创建线程类Thread的对象,并传实现类对象到参数 Thread thread = new Thread(myRunnable); //调用start方法启动新线程 thread.start(); //当启动的实现类线程执行完毕后继续执行main的线程;(主线程) for (int i = 0; i < 20; i++) { System.out.println(“main = “ + i); //当前的线程对象thread是main的; thread.sleep(1000); } } }

//实现类,实现Runnable接口

/**

  • @author Jztice5
  • @date 2022年02月17日 下午 12:01 */

public class MyRunnable implements Runnable{

  1. @Override
  2. public void run() {
  3. for (int i = 0; i < 10; i++) {
  4. System.out.println("run = " + i);
  5. }
  6. }

} ```