java基础知识回顾之java Thread类--java线程实现常见的两种方式实现Runnable接口(二)

创建线程的第二中方式:

/**
 *

     步骤:

      1定义类实现Runnable接口
      2.实现Runnable接口中的run方法。
      3.通过Thread类建立线程对象,并将Runnable 接口的子类对象作为实际参数传给Thread类的构造方法、
      4.调用Thread类的start方法开启线程,并调用Runnable接口子类的run方法
      为什么要将Runnable接口子类的对象传递给Thread类的构造方法?
      因为线程的任务(要运行的代码)都封装在Runnable接口的子类对象的run方法中,所以在线程对象创建的时候就必须明确要运行的任务。
 *
 */

package com.lp.ecjtu.Thread;



public class HelloRunnableThread  implements Runnable{

    private String name;

    



    public String getName() {

        return name;

    }





    public void setName(String name) {

        this.name = name;

    }

    

    public HelloRunnableThread(String name){

        this.name = name;

    }



    @Override

    public void run() {

        for(int i=0;i<=100;i++){

            System.out.println(name+"运行"+i);

        }

    }

    public static void main(String[] args){

        HelloRunnableThread h1 = new HelloRunnableThread("A");

        HelloRunnableThread h2 = new HelloRunnableThread("B");

        Thread t1 = new Thread(h1);//h1为传入线程构造方法的接口

        Thread t2 = new Thread(h2);

        System.out.println("线程启动之前---》"+t1.isAlive());//测试线程是否处于活动状态

        t1.start();//开启线程,进入可运行状态

        System.out.println("线程启动之后---》"+t1.isAlive());

        t2.start();

    }

}

输出:

线程启动之前---》false
线程启动之后---》true
A运行0
B运行0
B运行1
B运行2
B运行3
B运行4
B运行5
B运行6
B运行7
B运行8
B运行9
B运行10
B运行11
B运行12
B运行13
A运行1
B运行14
A运行2
B运行15

你可能感兴趣的:(Runnable)