Java Thread类实现多线程方法
Java Thread类实现多线程有下面3个步骤:
1.首先创建一个任务类extends Thread类,因为Thread类实现了Runnable接口,所以自定义的任务类也实现了Runnable接口,重新run()方法,其中定义具体的任务代码或处理逻辑。
2.创建一个任务类对象,可以用Thread或者Runnable作为自定义的变量类型。
3.调用自定义对象的start()方法,启动一个线程。
Thread类实现多线程实例如下:
package com.muzeet.mutithread; //每个任务都是Runable接口的一个实例,任务是可运行对象,线程即可运行对象。必须创建任务类,重写run方法定义任务 public class ExtendFromThread extends Thread { private int countDown = 10; @Override //重写run方法,定义任务 public void run() { while(countDown-- >0) { System.out.println("$" + this.getName() + "(" + countDown + ")"); } } //调用start方法会启动一个线程,导致任务中的run方法被调用,run方法执行完毕则线程终止 public static void main(String[] args) { ExtendFromThread thread1 = new ExtendFromThread(); ExtendFromThread thread2 = new ExtendFromThread(); thread1.start(); thread2.start(); System.out.println("火箭发射倒计时:"); } }
运行结果:
火箭发射倒计时:
$Thread-0(9)
$Thread-0(8)
$Thread-0(7)
$Thread-0(6)
$Thread-0(5)
$Thread-0(4)
$Thread-0(3)
$Thread-0(2)
$Thread-0(1)
$Thread-0(0)
$Thread-1(9)
$Thread-1(8)
$Thread-1(7)
$Thread-1(6)
$Thread-1(5)
$Thread-1(4)
$Thread-1(3)
$Thread-1(2)
$Thread-1(1)
$Thread-1(0)
start()方法
Thread用 start方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码。通过调用Thread类的 start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到cpu时间片,就开始执行run()方法,这里方法 run()称为线程体,它包含了要执行的这个线程的内容,Run方法运行结束,此线程随即终止。
总结
(1)优点:编写简单,如果需要访问当前线程,无需使用Thread.currentThread()方法,直接使用this,即可获得当前线程。
(2)缺点:因为线程类已经继承了Thread类,所以不能再继承其他的父类。
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。