1. 线程的命名与获取名称方法

    设置名称可以使用Thread类的如下方法:

  1. *构造方法:public Thread (Runnable Target,String name)

  2. *设置名字:public final void setName(String name)

  3. 获取线程名城:

  4. *当前运行的线程名称:Thread.currentThread().getName()

  5. *取得名字:public final String getName()

  1. 创建运行线程

     
    1. public class MyThread extends Thread{

    2.     @Override

    3.     public void run() {

    4.         try {

    5.             sleep(Constants.OPERATION_AMOUNT_THREAD_TIME);

    6.             /**

    7.                 逻辑代码

    8.             */

    9.         } catch (InterruptedException e) {

    10.             Logger.info("线程:" + Thread.currentThread().getName()+"结束.");

    11.             System.out.println(e.getMessage());

    12.         }

    13.     }

    14. }

    15. MyThread oat= newMyThread ();

    16.         oat.setName("110");

    17.         System.out.println("创建线程"+oat.getName());

    18. oat.start();

  1. 根据线程名获取线程

    1. 获取所有线程

       
      1. public class Main extends Thread {

      2. public static void main(String[] args) {

      3. Main t1 = new Main();

      4. t1.setName("thread1");

      5. t1.start();

      6. ThreadGroup currentGroup =

      7. Thread.currentThread().getThreadGroup();

      8. int noThreads = currentGroup.activeCount();

      9. Thread[] lstThreads = new Thread[noThreads];

      10. currentGroup.enumerate(lstThreads);

      11. for (int i = 0; i < noThreads; i++)

      12. System.out.println("线程号:" + i + " = " + lstThreads[i].getName());

      13. }

      14. }

以上代码运行输出结果为:

线程号:0= main

线程号:1= thread1

  1. 对对应的线程进行interrupt() (安全结束sleep中的进程的方式)

对sleep中的线程进行interrupt()会抛异常 走catch方法 run方法正常结束 安全的停止线程。

可根据自己的业务进程设计停止线程的方式 ,不建议使用stop方法 ,因为存在数据的一致性问题,并且stop方法已经呗java过期了。

停止进程的方式详见  https://fzy15116089232.blog.csdn.net/article/details/111320907

//杀线程

 
  1. public static boolean killThreadByName(String name) {

  2. ThreadGroup currentGroup = Thread.currentThread().getThreadGroup();

  3. int noThreads = currentGroup.activeCount();

  4. Thread[] lstThreads = new Thread[noThreads];

  5. currentGroup.enumerate(lstThreads);

  6. Logger.info("现有线程数" + noThreads);

  7. for (int i = 0; i < noThreads; i++) {

  8. String nm = lstThreads[i].getName();

  9. Logger.info("线程号:" + i + " = " + nm);

  10. if (nm.equals(name)) {

  11. lstThreads[i].interrupt();

  12. return true;

  13. }

  14. }

  15. return false;

  16. }

根据线程名获取线程及停止线程相关推荐

  1. 线程池5:与停止线程池,相关的五个方法;(shutdown(),isShutdown(),isTerminated(),awaitTermination(),shutdownNow();)

    说明: (1)介绍与停止线程池相关的五个方法:shutdown(),isShutdown(),isTerminated(),awaitTermination(),shutdownNow(): 目录 一 ...

  2. 进程handle获取线程_获取进程中的线程列表

    进程handle获取线程 The System.Diagnostics namespace contains functions that allow you to manage processes, ...

  3. java获取其他类的线程,使用Java实现面向对象编程——第七章 多线程

    1.进程:是指运行中的应用程序,每个进程都有自己独立的地址空间(内存空间): Eg:用户点击桌面的IE浏览器,就启动了一个进程,操作系统就会为该进程分配独立的地址空间.当用户再次点击左面的IE浏览器, ...

  4. 性能优化:线程快照获取与分析

    参考资料: <JAVA线程状态梳理以及Jstack命令使用> <Java线程Dump分析> <jstack生成的Thread Dump日志线程状态> <常见的 ...

  5. 你真的会停止线程吗?

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:牛人 20000 字的 Spring Cloud 总结,太硬核了~ 作者:Greta Wang 出处:http: ...

  6. java 线程强制停止线程_java多线程之停止线程

    在多线程开发中停止线程是非常重要的技术点. 停止线程在Java语言中并不像break语句那样干脆.须要一些技巧性的处理. 一.  异常法 採用异常法来停止一个线程.首先我们须要了解一下两个方法的使用方 ...

  7. 调用方法try起来的好处_Java:一个重要的停止线程方法——interrupt

    一.前言 之前本人写了一篇防止Controller中的线程被重复调用的文章,大概代码如下: //sonarqube检查要求static变量必须是final,为避开检查,使用final HashMapp ...

  8. 一篇就够,线程与线程池的那些事之线程池篇

    本文关键字: 线程 , 线程池 , 单线程 , 多线程 , 线程池的好处 , 线程回收 , 创建方式, 核心参数 , 底层机制 , 拒绝策略 , 参数设置 , 动态监控 , 线程隔离 线程和线程池相关 ...

  9. 第三十三天- 线程创建、join、守护线程、死锁

    1.线程,线程创建 概念:在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程,线程顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程,车间负责 ...

最新文章

  1. 如何搭建modem编译环境
  2. 学习笔记Hadoop(一)—— Hadoop介绍(1)——认识大数据
  3. 零基础如何学习Java,这里分享一些技巧心得
  4. 怎样写 OpenStack Neutron 的 Extension (四)
  5. [转]如何进行单元测试
  6. 程序媛计划——python数据库
  7. http://www.easyui.info/archives/396.html
  8. scanner 获取控制台信息_Java使用Scanner类进行控制台输入实现方法
  9. ASP.Net学习笔记002--ASP.Net服务端控件做了什么2
  10. IDEA 这么设置 Maven,再也不用担心依赖下载失败了
  11. 最新服装零售软件管理排名
  12. 【win10 cuda pytorch】从无到有配置gpu运算pytorch的极度详细完整方法教程(包括各种坑),网上其他方法基本可行性不高
  13. 222Beta多样性限制性排序CPCoA/CCA/RDA/LDA
  14. 软件智能:aaas系统的 AI服务功能:大纲图的无意识代理功能和八卦图的关系
  15. 佛理(引用别人的东西,怕忘记了不好找,拿来了,哈哈)
  16. Codeforces Gym 100015 简要题解
  17. 《Python编程入门到实践》 第四章 操作列表
  18. 一阶电路暂态响应的结果分析。_【技术】关于开关电源的分析、计算、仿真
  19. Android手机电池耐用吗,八款超长待机的智能手机 大容量电池十分耐用
  20. Python复制单个文件为多个脚本

热门文章

  1. “梧桐杯”中国移动大数据应用创新大赛 - 智慧城市赛道baseline
  2. 2021春季推荐算法实习生面经
  3. 自动驾驶公司 | 纵目科技完成D轮1.9亿美元融资
  4. 利用screen和nohup让Linux服务器后台运行程序
  5. Linux编程(5)_静态库与动态库
  6. 计算机图像类型ppt,计算机图像处理.ppt
  7. 台式计算机视频设备打不开,电脑视频设备被占用未能创建视频预览怎么办
  8. mysql datasource.url_SpringBoot配置数据源DataSource
  9. css3 shapes是什么意思,CSS Shapes有哪些让人兴奋之处
  10. byte数组转blob类型_Java类型相互转换byte[]类型,blob类型