java 继承thread_Java继承Thread类创建线程类

通过继承Thread类来创建并启动多线程的步骤如下。

➊定义Thread类的子类,并重写该类的run()方法,该run()方法的方法体就代表了线程需要完成的任务。因此把run()方法称为线程执行体。

❷创建Thread子类的实例,即创建了线程对象。

❸调用线程对象的start()方法来启动该线程。

下面程序示范了通过继承Thread类来创建并启动多线程。

//通过继承Thread类来创建线程类

publicclassFirstThreadextendsThread

{

privateinti;

//重写run方法,run方法的方法体就是线程执行体

publicvoidrun()

{

for(;i<100;i++)

{

//当线程类继承Thread类时,可以直接调用getName()方法来返回当前线程的名。

//如果想获取当前线程,直接使用this即可

//Thread对象的getName返回当前该线程的名字

System.out.println(getName()+" "+i);

}

}

publicstaticvoidmain(String[]args)

{

for(inti=0;i<100;i++)

{

//调用Thread的currentThread方法获取当前线程

System.out.println(Thread.currentThread().getName()+" "+i);

if(i==20)

{

//创建、并启动第一条线程

newFirstThread().start();

//创建、并启动第二条线程

newFirstThread().start();

}

}

}

}

运行实例 »

上面程序中的FirstThread类继承了Thread 类,并实现了run()方法,如程序中第一段粗体字代码所示,该run()方法里的代码执行流就是该线程所需要完成的任务。程序的主方法中也包含了一个循环,当循环变量i等于20时创建并启动两个新线程。你可以点击上面的运行按钮。虽然上面程序只显式地创建并启动了2个线程,但实际上程序有3个线程,即程序显式创建的2个子线程和主线程。前面已经提到,当Java程序开始运行后,程序至少会创建一个 主线程,主线程的线程执行体不是由run(0方法确定的,而是由main0方法确定的一main0方法的方法体代表 主线程的线程执行

体。

注意

1.进行多线程编程时不要忘记了Java程序运行时默认的主线程, main()方法的方法体就是主线程的线程执行体。

2.使用继承Thread类的方法来创建线程类时,多个线程之间无法共享线程类的实例变量。

除此之外,上面程序还用到 了线程的如下两个方法。

➢Thread.currentThread(): currentThread()是 Thread类的静态方法,该方法总是返回当前正在执行的线程对象。

➢getName(): 该方法是Thread类的实例方法,该方法返回调用该方法的线程名字。

程序可以通过setName(String name)方法为线程设置名字,也可以通过getName()方法返回指定线程的名字。在默认情况下,主线程的名字为main, 用户启动的多个线程的名,字依次为Thread-0. Thread-1. Thread-2. ….. Thread-n等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值