Java线程操作的常见方法【线程名称获取、设置、线程启动判断等】

 更新时间:2019年10月15日 09:22:28   作者:cakincqm  
这篇文章主要介绍了Java线程操作的常见方法,结合实例形式总结分析了java线程的创建、线程名称的获取、设置以及线程启动的判断等相关操作实现技巧,需要的朋友可以参考下

本文实例讲述了Java线程操作的常见方法。分享给大家供大家参考,具体如下:

一 线程名称的操作

1 代码

public class GetNameThreadDemo extends Thread
{
  public void run()
  {
   for( int i = 0; i < 5; ++i )
   {
     printMsg();
     try
     {
      Thread.sleep(1000);    // 睡眠1秒
     }
     catch( InterruptedException e )
     {
      e.printStackTrace();
     }
   }
  }
  public void printMsg()
  {
   // 获得运行此代码的线程的引用
   Thread t = Thread.currentThread();
   String name = t.getName();
   System.out.println( "name = " + name );
  }
  public static void main( String[] args )
  {
   GetNameThreadDemo t1 = new GetNameThreadDemo();
   t1.start();
   for( int i = 0; i < 5; ++i )
   {
     t1.printMsg();
     try
     {
      Thread.sleep(1000);    // 睡眠1秒
     }
     catch( InterruptedException e )
     {
      e.printStackTrace();
     }
   }
  }
}

2 运行

name = main
name = Thread-0
name = main
name = Thread-0
name = main
name = Thread-0
name = main
name = Thread-0
name = main
name = Thread-0

二 设置与获取线程名称

1 代码

public class GetSetNameThreadDemo implements Runnable
{
  public void run( )
  {
    Thread temp = Thread.currentThread( );//获取执行这条语句的线程实例
    System.out.println("执行这条语句的线程名字:" + temp.getName( ));
  }
  public static void main(String[] args)
  {
    Thread t = new Thread(new GetSetNameThreadDemo( ));
    t.setName("线程_范例演示");
    t.start();
  }
}

2 运行

执行这条语句的线程名字:线程_范例演示

三 判断线程是否启动

1 代码

public class StartThreadDemo extends Thread
{
  public void run()
  {
   for( int i = 0; i < 5; ++i )
   {
     printMsg();
   }
  }
  public void printMsg()
  {
   // 获得运行此代码的线程的引用
   Thread t = Thread.currentThread();
   String name = t.getName();
   System.out.println( "name = " + name );
  }
  public static void main( String[] args )
  {
   StartThreadDemo t = new StartThreadDemo();
   t.setName( "test Thread" );
   System.out.println( "调用start()方法之前 , t.isAlive() = " + t.isAlive() );
   t.start();
   System.out.println( "刚调用start()方法时 , t.isAlive() = " + t.isAlive() );
   for( int i = 0; i < 5; ++i )
   {
     t.printMsg();
   }
   // 下面语句的输出结果是不固定的,有时输出false,有时输出true
   System.out.println( "main()方法结束时 , t.isAlive() = " + t.isAlive() );
  }
}

2 运行

调用start()方法之前 , t.isAlive() = false
刚调用start()方法时 , t.isAlive() = true
name = main
name = main
name = main
name = test Thread
name = main
name = test Thread
name = main
name = test Thread
main()方法结束时 , t.isAlive() = true
name = test Thread
name = test Thread
 
Process finished with exit code 0

更多java相关内容感兴趣的读者可查看本站专题:《Java进程与线程操作技巧总结》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

相关文章

  • SpringBoot的依赖管理配置

    SpringBoot的依赖管理配置

    一般来讲SpringBoot项目是不需要指定版本,而SSM项目是需要指定版本,SpringBoot的核心依赖就是spring-boot-starter-parent和spring-boot-starter-web两个依赖,关于这两个依赖的相关介绍具体今天小编给大家介绍下
    2022-07-07
  • Java数据结构之KMP算法的实现

    Java数据结构之KMP算法的实现

    这篇文章主要为大家详细介绍了Java数据结构中KMP算法的原理与实现,文中的示例代码讲解详细,对我们学习Java有一定的帮助,需要的可以参考一下
    2022-11-11
  • SpringBoot集成Kafka的实现示例

    SpringBoot集成Kafka的实现示例

    本文主要介绍了SpringBoot集成Kafka的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-01-01
  • Maven的生命周期与自定义插件实现方法

    Maven的生命周期与自定义插件实现方法

    Maven的生命周期就是对所有的构建过程进行抽象和统一。包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有的构建步骤
    2022-12-12
  • 详谈jvm线程栈空间内存分配位置

    详谈jvm线程栈空间内存分配位置

    这篇文章主要介绍了jvm线程栈空间内存分配位置,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • 使用sharding-jdbc实现水平分表的示例代码

    使用sharding-jdbc实现水平分表的示例代码

    本文主要介绍了sharding-jdbc实现水平分表,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • 深入探究SpringBoot可以同时处理多少请求

    深入探究SpringBoot可以同时处理多少请求

    SpringBoot是一款非常流行的Java后端框架,它可以帮助开发人员快速构建高效的Web应用程序,但是,许多人对于SpringBoot能够同时处理多少请求的疑问仍然存在,在本篇文章中,我们将深入探讨这个问题,需要的朋友可以参考下
    2023-07-07
  • 将Swagger2文档导出为HTML或markdown等格式离线阅读解析

    将Swagger2文档导出为HTML或markdown等格式离线阅读解析

    这篇文章主要介绍了将Swagger2文档导出为HTML或markdown等格式离线阅读,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • Spring boot项目集成Camel FTP的方法示例

    Spring boot项目集成Camel FTP的方法示例

    这篇文章主要介绍了Spring boot项目集成Camel FTP的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • SpringBoot框架底层原理解析

    SpringBoot框架底层原理解析

    这篇文章主要介绍了SpringBoot底层原理,包括配置优先级的配置方式给大家讲解的非常详细,需要的朋友可以参考下
    2024-03-03

最新评论