广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >Java多线程 -Thread类的常用API
  • 268
分享到

Java多线程 -Thread类的常用API

javajvm开发语言 2023-09-03 12:09:19 268人浏览 安东尼
摘要

线程常用api Thread常用API说明: Thread常用方法:获取线程名称getName()、设置名称setName()、获取当前线程对象currentThread()。 至于Thread

线程常用api

Thread常用API说明:

Thread常用方法:获取线程名称getName()、设置名称setName()、获取当前线程对象currentThread()。

至于Thread类提供的诸如:yield、join、interrupt、不推荐的方法 stop 、守护线程、线程优先级等线程的控制方法,在开发中很少使用,这些方法会在高级篇以及后续需要用到的时候再为大家讲解。

思考: 当有很多线程在执行的时候, 我们怎么去区分这些线程呢?

例如下面代码, 我们创建了两个子线程, 但是两个子线程的打印内容是一样的, 这就导致于我们无法区分两个子线程

public class ThreadDemo {    public static void main(String[] args) {        // 创建第一个子线程        Thread t1 = new MyThread();        t1.start();        // 创建第二个子线程        Thread t2 = new MyThread();        t2.start();    }}// 创建线程对象class MyThread extends Thread {    @Override    public void run() {        for (int i = 0; i < 5; i++) {            System.out.println("子线程输出: " + i);        }    }}

此时需要使用Thread的常用方法:getName()、setName()、currentThread()等。

Thread设置和获取线程名称API:

方法名称说明
getName()获取当前线程的名称,默认线程名称是Thread-索引
setName(String name)将此线程的名称更改为指定的名称,通过构造器也可以设置线程名称

Thread类获取当前线程对象的API(可以通过这个API获取主线程对象):

此方法是Thread类的静态方法,可以直接使用Thread类调用。

这个方法是在哪个线程执行中调用的,就会得到哪个线程对象。

方法名称说明
static Thread currentThread()返回对当前正在执行的线程对象的引用

演示代码:

public class ThreadDemo {    public static void main(String[] args) {        Thread t1 = new MyThread();        // 获取子线程默认名称        System.out.println(t1.getName()); // Thread-0        // 设置线程名称        t1.setName("1号线程");        t1.start();        Thread t2 = new MyThread();        // 获取子线程默认名称        System.out.println(t2.getName()); // Thread-1        // 设置线程名称        t2.setName("2号线程");        t2.start();        // 获取当前线程对象(在这里也就是主线程)        Thread m = Thread.currentThread();        // 获取主线程默认名称        System.out.println(m.getName());    }}// 创建线程对象class MyThread extends Thread {    @Override    public void run() {        for (int i = 0; i < 5; i++) {            // 拿到线程的名称用于区分            System.out.println(Thread.currentThread().getName() + "输出: " + i);        }    }}

打印结果如下, 此时我们就可以区分多个子线程

Thread-0Thread-1main1号线程输出: 01号线程输出: 11号线程输出: 22号线程输出: 01号线程输出: 31号线程输出: 42号线程输出: 12号线程输出: 22号线程输出: 32号线程输出: 4

Thread构造器是可以为线程取名字的:

我们可以在子类MyThread中调用父类Thread构造器, 就可以在创建对象时为线程设置名称, 不需要单独调用setName方法

方法名称说明
Thread(String name)可以为当前线程指定名称
Thread(Runnable target)封装Runnable对象成为线程对象
Thread(Runnable target ,String name )封装Runnable对象成为线程对象,并指定线程名称
public class ThreadDemo {    public static void main(String[] args) {        // 创建线程时使用构造器设置名称        Thread t1 = new MyThread("1号线程");        t1.start();        Thread t2 = new MyThread("2号线程");        t2.start();    }}// 创建线程对象class MyThread extends Thread {    public MyThread() {    }    // 调用父类构造器    public MyThread(String name) {        super(name);    }    @Override    public void run() {        for (int i = 0; i < 5; i++) {            // 拿到线程的名称用于区分            System.out.println(Thread.currentThread().getName() + "输出: " + i);        }    }}

Thread类线程的休眠方法

方法名称说明
static void sleep(long time)让当前线程休眠指定的时间后再继续执行,单位为毫秒。

例如我们用主线程来演示, 当for循环中i=3时, 让主线程休眠三秒后, 再运行

public static void main(String[] args) throws Exception {    for (int i = 0; i < 10; i++) {        System.out.println(i);        if (i == 3) {            Thread.sleep(3000);        }    }}

来源地址:https://blog.csdn.net/m0_71485750/article/details/127655510

--结束END--

本文标题: Java多线程 -Thread类的常用API

本文链接: https://www.lsjlt.com/news/392119.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java多线程 -Thread类的常用API
    线程常用API Thread常用API说明: Thread常用方法:获取线程名称getName()、设置名称setName()、获取当前线程对象currentThread()。 至于Thread...
    99+
    2023-09-03
    java jvm 开发语言
  • Java多线程Thread类的使用详解
    目录1.创建一个线程2.start()方法与run()方法3.查看线程4.创建线程的各种方法4.1实现Runnable接口4.2使用匿名内部类4.3使用匿名内部类实现Runnable...
    99+
    2022-12-03
    Java多线程Thread Java Thread Java多线程
  • Java多线程Thread类如何使用
    这篇文章主要讲解了“Java多线程Thread类如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java多线程Thread类如何使用”吧!Thread类的基本用法创建子类,继承自Thr...
    99+
    2023-07-02
  • 【JavaEE】多线程(二)Thread 类及常见方法
    ✨哈喽,进来的小伙伴们,你们好耶!✨ 🛰️🛰️系列专栏:【JavaEE】 ✈️✈️本篇内容:Thread类再剖析! 🚀🚀代码存放仓库gitee:JavaEE初阶代码存...
    99+
    2023-09-04
    java-ee java 开发语言
  • Java多线程Thread类的使用及注意事项
    目录Thread类的基本用法线程指标中断线程1.手动设置标志位2.使用Thread中内置的一个标志位来判定线程等待进程状态线程安全问题synchronized用法1.直接修饰普通的方...
    99+
    2022-11-13
  • Java Thread多线程开发中Object类怎么使用
    这篇“Java Thread多线程开发中Object类怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Jav...
    99+
    2023-07-05
  • 【Java系列】详解多线程(二)——Thread类及常见方法(上篇)
    个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【Java系列专栏】【JaveEE学习专栏】 本专栏旨在分享学习Java的一点学习心得,欢迎大家在评...
    99+
    2023-12-23
    java 开发语言 java-ee
  • c# Thread类线程常用操作详解
    目录创建线程 管理线程 销毁线程 创建线程 线程是通过扩展 Thread 类创建的。扩展的 Thread 类调用 Start() 方法来开始子线程的执行。 下面的程序演示...
    99+
    2022-11-11
  • Thread类线程常用操作有哪些
    本篇文章为大家展示了Thread类线程常用操作有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。创建线程线程是通过扩展 Thread 类创建的。扩展的 Threa...
    99+
    2022-10-19
  • 如何在java线程中使用thread类
    这篇文章给大家介绍如何在java线程中使用thread类,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序...
    99+
    2023-06-14
  • Java中使用Thread类和Runnable接口实现多线程的区别
    使用Thread类和Runnable接口实现多线程的区别 先看两种实现方式的步骤: public class ThreadDemo{ public static void m...
    99+
    2022-11-13
  • Java线程创建与Thread类的使用方法
    目录1.线程与Thread类1.1操作系统中的线程与Java线程1.1.1线程与Thread类1.1.2Thread类的构造方法1.1.3启用java线程必会的方法1.2第一个Jav...
    99+
    2022-11-13
  • Java 多线程中的Thread该怎么理解
    这篇文章给大家介绍Java 多线程中的Thread该怎么理解,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。package com.thread;public class TestThrea...
    99+
    2023-06-02
  • java多线程JUC常用辅助类详解
    1.countDownLatch 减法计数器:实现调用几次线程后,在触发另一个任务 简单代码实现: 举例说明:就像五个人在同一房间里,有一个看门的大爷,当五个人都出去后,他才能锁门...
    99+
    2022-11-12
  • Java中使用Thread类和Runnable接口实现多线程的区别是什么
    这篇“Java中使用Thread类和Runnable接口实现多线程的区别是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“...
    99+
    2023-07-02
  • Java如何通过继承Thread实现的线程类
    这篇文章主要为大家展示了“Java如何通过继承Thread实现的线程类”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java如何通过继承Thread实现的线程类...
    99+
    2022-10-19
  • Java中Thread类详解及常用的方法
    目录一、Thread 的常见构造方法二、Thread 的常见属性三、创建线程四、中断线程五、线程等待六、获取线程引用七、线程休眠八、线程状态总结一、Thread 的常见构造方法 方法...
    99+
    2022-11-13
  • Java超详细讲解多线程中的Process与Thread
    目录进程和线程的关系操作系统是如何管理进程的并行和并发创建线程的方法串行执行和并发执行Thread中的一次额重要方法中断线程线程等待线程休眠(sleep)进程和线程的关系 ⭐在操作系...
    99+
    2022-11-13
  • 如何用Java多线程在mail中创建Thread对象
    这篇文章将为大家详细讲解有关如何用Java多线程在mail中创建Thread对象,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Java多线程有很多的知识需要我们学习,在学习的时候还是需要我们...
    99+
    2023-06-17
  • Java中线程Thread的特点及使用
    目录线程的特点:二:线程的创建及使用方案一:继承Thread类创建线程类方案二:实现Runnable接口方案三:使用callable和future创建线程线程:线程是进程的组成部分,...
    99+
    2023-05-17
    Java线程 Java Thread
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作