Java多线程的创建

91 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一、Java线程的创建

Java 提供了两种多线程实现方式

一种是继承 java.lang 包下的 Thread 类,覆写 Thread类的 run ()方法,在 run ()方法中实现运行在线程上的代码。

另一种是实现 java.lang.Runnable 接口,同样是在 run ()方法中实现运行在线程上的代码。

二、Java实现 Runnable 接口创建多线程

Java 中只支持单继承,一个类一旦继承了某个父类就无法再继承 Thread 类,比如学生类 Student 继承了 Person 类,就无法通过继承 Thread 类创建线程。

为了克服这种弊端, Thread 类提供了另外一个构造方法 Thread ( Runnable target ),其中 Runnable 是一个接口,它只有一个 run ()方法。

当通过 Thread ( Runnable target )构造方法创建线程对象时,只需为该方法传递一个实现了 Runnable 接口的实例对象,这样创建的线程将调用实现了 Runnable 接口中的 run ()方法作为运行代码,而不需要调用 Thread 类中的 run ()方法。

通过实现Runnable接口来创建多线程

案例:

public class ExampleM03 {
    public static void main(String[] args) {
        MyThread03 myThread03 = new MyThread03();//创建 MyThread 的实例对象
        Thread thread  =new Thread(myThread03); //创建线程对象
        thread.start(); //start()开启多线程,执行线程中的 run()方法
        while (true) {
            System.out.println("Main()方法在运行");
        }
    }
}
class MyThread03 implements Runnable {
    public void run() { //线程的代码段,当调用 start()方法时,线程从此处开始执行
        while (true) {
            System.out.println("MyThread 类的 run()方法在运行");
        }
    }
}

MyThread 类实现了 Runnable 接口,并重写了 Runnable 接口中的 run ()方法,通过 Thread 类的构造方法将 MyThread 类的实例对象作为参数传入。从运行结果可以看出, main ()方法和 run ()方法中的打印语句都执行了,说明例程实现了多线程

多线程可以使CPU 轮流执行进程,凭借快速的CPU运行速度从而给人一种同时执行多个任务的感觉。