`

深入学习Thread类

阅读更多

一.             线程的名字

下面来看一下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类的实例正是“指向当前代码的线程”。

 

分享到:
评论

相关推荐

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    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入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    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)...

    深入学习:JFC SWING—JAVA 基础类组件集

    Java Swing 是Java Foundation Classes (JFC) 的一部分,它是一个...阅读提供的"深入学习:JFC SWING—JAVA 基础类组件集.pdf"文档,将帮助你更深入地了解和掌握这些知识,从而能够熟练地创建和定制Java桌面应用程序。

    java深入学习就靠他了

    "Java深入学习就靠他了"这个资源显然旨在帮助有经验的Java开发者深化对这门语言的理解,尤其是那些正处于技术突破阶段的程序员。它涵盖了Java的核心技术和高级特性,旨在提升开发者在J2SE(Java标准版)和J2EE(Java...

    C#多线程学习 Thread类使用 线程等编程方法

    本文将深入探讨C#多线程编程,包括Thread类的使用以及线程同步的相关知识。 ### 1. Thread类介绍 Thread类是C#中处理线程的主要类,位于System.Threading命名空间下。通过实例化Thread类,我们可以创建新的线程并...

    【java学习记录】11.多线程实现阶乘计算(Thread类和Runnable接口)

    本篇文章将深入探讨如何利用`Thread`类和`Runnable`接口来实现阶乘计算的多线程解决方案。阶乘计算是数学中的一个概念,对于非负整数n,其阶乘表示为所有小于等于n的正整数的乘积,记作n!。 首先,我们来看如何使用...

    RT_Thread学习资源

    RT_Thread学习资源包含了一系列关于RT_thread实时操作系统的深入学习材料,是个人在探索与实践RT_thread过程中积累的宝贵笔记。RT_thread是一个强大的、开源的、轻量级的实时操作系统,适用于各种嵌入式设备,从微...

    这是一个线程类(Thread

    本篇文章将深入探讨`Thread`类的使用、线程的创建方法以及`Runnable`接口的实现。 ### 1. `Thread`类概述 `Thread`类是Java语言中的核心组件,位于`java.lang.thread`包中。它是所有线程操作的基础,包括启动、...

    C#常用的42个类,深入学习掌握C#

    在深入学习和掌握C#的过程中,了解并熟练运用各种类是非常关键的。C#作为Microsoft开发的面向对象的编程语言,拥有丰富的类库,能够帮助开发者高效地完成各种任务。以下是一些基于标题和描述中提及的关键知识点的...

    5,RT Thread操作系统教程及资料_rtthread_RT-Thread_

    接着,可以深入学习API和开发工具,结合实例提升实践能力。最后,研究高级主题,提升系统设计和优化能力。 7. **社区支持** RT Thread有一个活跃的开发者社区,提供在线论坛、邮件列表等交流平台,开发者可以在...

    java深入学习笔记.pdf

    * 线程创建:java中的线程创建可以通过继承Thread类或实现Runnable接口实现。 * 线程同步:java中的线程同步机制包括synchronized关键字、wait、notify、notifyAll等。 * 线程通信:java中的线程通信机制包括wait、...

    RT-thread 学习资料大全

    RT-thread 是一款开源、实时、高性能的嵌入式操作系统,被广泛应用在物联网设备和智能硬件领域。本压缩包中的学习资料大全涵盖了RT-...通过深入学习和实践,你将能够熟练地利用RT-thread构建高效、可靠的物联网系统。

    ThreadX5.1 Win32 Demo

    了解ThreadX对于深入学习嵌入式系统设计和开发至关重要,因为它是一个高效、可定制且广泛使用的RTOS。 ThreadX的核心特性包括任务调度、中断处理、内存管理、同步和通信机制等。在5.1版本中,可能包含了对性能的...

    线程thread demo

    1. 继承`Thread`类:创建一个新的类,继承自`java.lang.Thread`,然后重写`run()`方法。当调用`start()`方法时,该`run()`方法将在新线程中执行。 ```java class MyThread extends Thread { public void run() { ...

    深入学习:Java多线程编程

    1. **线程基础**:首先,书中可能会介绍线程的基本概念,包括进程与线程的区别,以及Java中创建线程的两种方式:继承Thread类和实现Runnable接口。此外,还会讲解线程的状态(新建、可运行、运行、阻塞和死亡)及其...

    RTThread学习资料

    RTThread,全称为Real-Time Thread,是一款开源、轻量级的实时操作系统(RTOS),专为嵌入式系统设计。...通过深入学习和实践这些资料,你将能够熟练掌握RTThread,并在你的项目中有效地利用这一强大的RTOS。

    RT-Thread 入门学习例程静态动态线程的创建,第一节的程序

    RT-Thread是一个功能强大、可裁剪的实时操作系统(RTOS),尤其适合于嵌入式系统。在本例程中,我们将深入探讨RT-Thread如何创建静态...通过深入学习和实践这些例程,你将能更好地掌握RT-Thread在嵌入式开发中的应用。

    RT-Thread学习笔记总结.tar.gz

    RT-Thread是一个开源、中立、商业友好型的实时操作系统(RTOS),专为物联网设备而设计。本学习笔记总结将全面介绍RT-...通过深入学习和实践,开发者可以充分利用其特性,为各种物联网设备构建高效、稳定的软件系统。

Global site tag (gtag.js) - Google Analytics