Java:多线程实现(继承Thread类)

背景

使用Java实现多线程,通过继承Thread类

实现

main()函数

package itheima;
/*
    方式1:继承Thread类
        1、定义一个类MyThread继承Thread类
        2、在MyThread类中重写run()方法
            为什么要重写run()方法?
            因为run()是用来封装被线程执行的代码。
        3、创建MyThread类的对象
            run()方法和start()方法的区别?
            run():封装线程执行的代码,直接调用,相当于普通方法的调用。
            start():启动线程;然后由JVM调用此线程的run()方法。
        4、启动线程
 */

public class MyThreadDemo {
    public static void main(String[] args) {
        MyThread my0 = new MyThread();
        MyThread my1 = new MyThread();

		//通过setName()方法设置线程名称。如果不设置即显示默认名称。
        my0.setName("线程0");
        my1.setName("线程1");

        //void start() 此线程开始执行;Java虚拟机调用线程的run()方法
        my0.start();
        my1.start();
    }
}

MyThread类

注:MyThread类中的run()用来封装被线程执行的代码。

package itheima;

public class MyThread extends Thread{
    @Override
    public void run(){
        for (int i = 0; i < 100; i++){
            System.out.println(getName() + ":" + i); //调用getName()方法获取进程名
        }
    }
}

总结

通过继承Thread类的方式实现多线程(另一种实现多线程的方式Runnable接口)。

  1. 定义一个类MyThread继承Thread类

  2. 在MyThread类中重写run()方法

       为什么要重写run()方法?
       因为run()是用来封装被线程执行的代码。
    
  3. 创建MyThread类的对象

       run()方法和start()方法的区别?
       run():封装线程执行的代码,直接调用,相当于普通方法的调用。
       start():启动线程;然后由JVM调用此线程的run()方法。
    
  4. 启动线程


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