Java继承Thread类 创建线程

大家好,今天分享Java继承Thread类 创建线程

首先Java创建线程可以通过三种方法

1.继承Thread类创建线程类(重点)

2.通过Runnable接口创建线程类(重点)

  1. 通过Callable接口(了解即可)

这次我们使用第一种方法来创建Java线程:
即:

Java继承Thread类 创建线程

操作的步骤:

自定义线程类继承Thread类

重写run()方法,编写线程执行体
创建对象,调用start()方法自动线程

写源码:

package Demo01;
//创建线程方法之一   :   重写run()方法     ,调用start 开启线程
public class ThreadTest  extends    Thread{
    @Override
    public void run() {
        //run方法线程体
        for (int i = 0; i < 40; i++) {
            System.out.println("我在吃饭"+i);

        }
    }

    public static void main(String[] args) {
        //这是main线程,主线程
        for (int i = 0; i < 40; i++) {
            System.out.println("我在睡觉"+i);
        }

    }
}

在main方法那里执行:
Java继承Thread类 创建线程_第1张图片
看执行结果:

Java继承Thread类 创建线程_第2张图片
Java继承Thread类 创建线程_第3张图片
下面的方法可以被执行,可是上面的run()方法无法使用:

在main 方法 (主线程)下这样写:

  ThreadTest testThread1 =new ThreadTest();  //创建一个线程对象
        testThread1.run();   //调用start()方法开启线程
package Demo01;
//创建线程方法之一   :   重写run()方法     ,调用start 开启线程
public class ThreadTest  extends    Thread{
    @Override
    public void run() {
        //run方法线程体
        for (int i = 0; i < 40; i++) {      //for   循环
            System.out.println("我在吃饭"+i);   //输出信息

        }
    }

    public static void main(String[] args) {
        //这是main线程,主线程
        ThreadTest testThread1 =new ThreadTest();  //创建一个线程对象
        testThread1.start();   //调用start()方法开启线程


        for (int i = 0; i < 40; i++) {
            System.out.println("我在睡觉"+i);
        }

    }
}

显示结果:

Java继承Thread类 创建线程_第4张图片
调用start 方法 他就是交替同时运行的

调用run()方法,

package Demo01;
//创建线程方法之一   :   重写run()方法     ,调用start 开启线程
public class ThreadTest  extends    Thread{
    @Override
    public void run() {
        //run方法线程体
        for (int i = 0; i < 40; i++) {      //for   循环
            System.out.println("我在吃饭"+i);   //输出信息

        }
    }

    public static void main(String[] args) {
        //这是main线程,主线程
        ThreadTest testThread1 =new ThreadTest();  //创建一个线程对象
        testThread1.run();   //调用run()方法开启线程


        for (int i = 0; i < 40; i++) {
            System.out.println("我在睡觉"+i);
        }

    }
}

执行结果:
Java继承Thread类 创建线程_第5张图片

调用run() 方法的结果:他会先执行run()方法对应的输出结果,之后才输出main主线程对应的输出结果

这是它们两个方法之间的不同:

Java继承Thread类 创建线程_第6张图片

好了,有关于Java继承Thread类 创建线程就到这里了,谢谢大家

你可能感兴趣的:(Java,多线程系列理论+源码,java,开发语言,后端,创建线程)