一. 线程的名字
下面来看一下Thread类的name属性,它的类型是String。它其实就是线程的名字。在Thread类中,有String getName()和void setName(String)两个方法用来设置和获取这个属性的值。
同时,Thread类还提供相应的构造方法,让Thread类的对象在创建的时候就有一个名字。构造方法如下:
a.Thread(String name):接受一个String实例为参数的Thread类的构造方法,这个参数就是这个线程的名字
b.Thread(Runnable target,String name):接受一个Runnable实例和一个String实例为参数的Thread类构造方法。其中Runnable中的run()方法就是线程将要执行的方法;String实例就是这个线程的名字。
如果在创建一个Thread实例的时候没有为Thread实例提供名字,那么Thread实例将使用一个默认的名字。对于在程序中创建的线程,线程的默认名字一般是“Thread-”加上一个递增的整数;而对于主线程,它的名字一般会被设置为main。
实例:
package com.bijian.study; public class ShowThreadName extends Thread { //继承自Thread类 public ShowThreadName() { //构造方法,没有参数 super(); //调用父类相应的构造方法 } public ShowThreadName(String name) { //构造方法,提供线程的名字 super(name); //调用父类相应的构造方法 } public void run() { //覆盖run()方法 System.out.println("这个线程的名字是:" + this.getName());//输出线程的名字 } }
package com.bijian.study; public class ShowThreadNameMain { public static void main(String[] args) { //使用无参数的构造方法创建Thread类实例,这是它将有一个默认的名字 ShowThreadName defaultName = new ShowThreadName(); //使用构造方法给线程指定一个名字 ShowThreadName name = new ShowThreadName("线程的名字"); //启动两个线程 defaultName.start(); name.start(); } }
运行结果:
这个线程的名字是:Thread-0
这个线程的名字是:线程的名字
二. 得到当前的线程
Thread类的静态方法currentThread()
Java的线程是执行Java程序的基本单位,也就是说,所有的Java代码最终都是由线程执行的。如果在程序中需要得到“执行当前代码的线程的引用”,那么就可以使用Thread类的静态方法Thread.currentThread()。
这个方法的返回值是Thread的引用,这个引用所指向的Thread类的实例正是“指向当前代码的线程”。
相关推荐
1.4.1 类(Class):Java世界中一类物体 14 1.4.2 方法(Method):物体的功能 15 1.4.3 main()方法:所有Java程序执行的起点 15 .1.5 名词解释 16 1.5.1 JDK和Java平台 16 1.5.2 Java编译器(Java Compiler)...
1.4.1 类(Class):Java世界中一类物体 14 1.4.2 方法(Method):物体的功能 15 1.4.3 main()方法:所有Java程序执行的起点 15 .1.5 名词解释 16 1.5.1 JDK和Java平台 16 1.5.2 Java编译器(Java Compiler)...
Java Swing 是Java Foundation Classes (JFC) 的一部分,它是一个...阅读提供的"深入学习:JFC SWING—JAVA 基础类组件集.pdf"文档,将帮助你更深入地了解和掌握这些知识,从而能够熟练地创建和定制Java桌面应用程序。
"Java深入学习就靠他了"这个资源显然旨在帮助有经验的Java开发者深化对这门语言的理解,尤其是那些正处于技术突破阶段的程序员。它涵盖了Java的核心技术和高级特性,旨在提升开发者在J2SE(Java标准版)和J2EE(Java...
本文将深入探讨C#多线程编程,包括Thread类的使用以及线程同步的相关知识。 ### 1. Thread类介绍 Thread类是C#中处理线程的主要类,位于System.Threading命名空间下。通过实例化Thread类,我们可以创建新的线程并...
本篇文章将深入探讨如何利用`Thread`类和`Runnable`接口来实现阶乘计算的多线程解决方案。阶乘计算是数学中的一个概念,对于非负整数n,其阶乘表示为所有小于等于n的正整数的乘积,记作n!。 首先,我们来看如何使用...
RT_Thread学习资源包含了一系列关于RT_thread实时操作系统的深入学习材料,是个人在探索与实践RT_thread过程中积累的宝贵笔记。RT_thread是一个强大的、开源的、轻量级的实时操作系统,适用于各种嵌入式设备,从微...
本篇文章将深入探讨`Thread`类的使用、线程的创建方法以及`Runnable`接口的实现。 ### 1. `Thread`类概述 `Thread`类是Java语言中的核心组件,位于`java.lang.thread`包中。它是所有线程操作的基础,包括启动、...
在深入学习和掌握C#的过程中,了解并熟练运用各种类是非常关键的。C#作为Microsoft开发的面向对象的编程语言,拥有丰富的类库,能够帮助开发者高效地完成各种任务。以下是一些基于标题和描述中提及的关键知识点的...
接着,可以深入学习API和开发工具,结合实例提升实践能力。最后,研究高级主题,提升系统设计和优化能力。 7. **社区支持** RT Thread有一个活跃的开发者社区,提供在线论坛、邮件列表等交流平台,开发者可以在...
* 线程创建:java中的线程创建可以通过继承Thread类或实现Runnable接口实现。 * 线程同步:java中的线程同步机制包括synchronized关键字、wait、notify、notifyAll等。 * 线程通信:java中的线程通信机制包括wait、...
RT-thread 是一款开源、实时、高性能的嵌入式操作系统,被广泛应用在物联网设备和智能硬件领域。本压缩包中的学习资料大全涵盖了RT-...通过深入学习和实践,你将能够熟练地利用RT-thread构建高效、可靠的物联网系统。
《RT-Thread常见函数》是针对RT-Thread实时操作系统中常用函数的一份详细参考资料,旨在帮助开发者更好地...通过深入学习并实践这些函数,开发者能够充分利用RT-Thread的特性,打造高质量的物联网产品和嵌入式系统。
了解ThreadX对于深入学习嵌入式系统设计和开发至关重要,因为它是一个高效、可定制且广泛使用的RTOS。 ThreadX的核心特性包括任务调度、中断处理、内存管理、同步和通信机制等。在5.1版本中,可能包含了对性能的...
1. 继承`Thread`类:创建一个新的类,继承自`java.lang.Thread`,然后重写`run()`方法。当调用`start()`方法时,该`run()`方法将在新线程中执行。 ```java class MyThread extends Thread { public void run() { ...
1. **线程基础**:首先,书中可能会介绍线程的基本概念,包括进程与线程的区别,以及Java中创建线程的两种方式:继承Thread类和实现Runnable接口。此外,还会讲解线程的状态(新建、可运行、运行、阻塞和死亡)及其...
RTThread,全称为Real-Time Thread,是一款开源、轻量级的实时操作系统(RTOS),专为嵌入式系统设计。...通过深入学习和实践这些资料,你将能够熟练掌握RTThread,并在你的项目中有效地利用这一强大的RTOS。
RT-Thread是一个功能强大、可裁剪的实时操作系统(RTOS),尤其适合于嵌入式系统。在本例程中,我们将深入探讨RT-Thread如何创建静态...通过深入学习和实践这些例程,你将能更好地掌握RT-Thread在嵌入式开发中的应用。
RT-Thread是一个开源、中立、商业友好型的实时操作系统(RTOS),专为物联网设备而设计。本学习笔记总结将全面介绍RT-...通过深入学习和实践,开发者可以充分利用其特性,为各种物联网设备构建高效、稳定的软件系统。