教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

Thread类实现多线程的优点是什么?怎样实现多线程

更新时间:2023年09月11日16时59分 来源:传智教育 浏览次数:

好口碑IT培训

Thread类是iava.lang下的一个线程类,用来实现 Java多线程。通过继承Thread类的方式来实现多线程非常简单,主要步骤如下:

(1)创建一个 Thread线程类的子类(子线程),同时重写 Thread类的 run)方法;

(2)创建该子类的实例对象,并通过调用start()方法启动线程。

接下来通过案例来演示Thread类使用这两种方法来实现多线程的过程。

//1.定义一个继承 Thread 线程类的子类
class MyThread1 extends Thread {
    //创建子线程类有参构造方法
    public MyThread1(String name) {
        super(name);
    }
    //重写 Thread类的run()方法
    public void run() {
         int i=0;
         while (i++<5){
             System.out.printIn (Thread.currentThread().getName()
                                   +"的run()方法在运行")
         }
     }
}
public class Example01 {
     public static void main(String[] args)(
          //2.创建MyThread1实例对象
          MyThread1 thread1=new MyThread1("thread1") ;
          //调用 start()方法启动线程
          thread1.start();
          //创建并启动另一个线程myThread2
          MyThread1 thread2=new MyThread1("thread2u) 
          thread2.start();
     }
}
定义了一个继承 Thread 线程类的子类 MyThread1,并重写了 run()方法其中currentThread()是 Thread类的静态方法,用来获取当前线程对象,getName()方法用来获取线程名称。然后在 main()方法中分别创建了两个线程实例,并指定线程名称为thread1和thread2,最后通过 start()方法启动线程。

两个线程对象交互执行了各自重写的 run()方法,并打印出对应的输出信息,而不是按照编程顺序先执行完第一个线程方法后才执行第二个线程方法,这就说明程序实现了多线程功能。

注意:从程序运行结果可以看出创建的两个线程实例交互运行,但实际上,该案例中还有一个 main()方法开启的主线程,这是程序的入口,仅用于创建并启动了两个子线程实例,并没有执行其他动作输出。通过定义一个子类MyThread继承线程类java.lang.Thread,重写run()方法,编码简单。但线程类已经继承Thread,无法继承其他类,不利于扩展。

0 分享到:
和我们在线交谈!