`

Java: 获得所有线程

阅读更多

我想在一个时刻查看java中还存在的所有线程, 于是google到了这里.

http://billharlan.com/pub/papers/javatips.html.

 

Getting a list of running Threads

 

  public static String[] getThreadNames() {
    ThreadGroup group = Thread.currentThread().getThreadGroup();
    ThreadGroup parent = null;
    while ( (parent = group.getParent()) != null ) {
      group = parent;
    }
    Thread[] threads = new Thread[group.activeCount()];
    group.enumerate(threads);
    java.util.HashSet set = new java.util.HashSet();
    for (int i=0; i < threads.length; ++i) {
      if (threads[i] != null && threads[i].isAlive()) {
        try {
          set.add(threads[i].getThreadGroup().getName()+","
                  +threads[i].getName()+","
                  +threads[i].getPriority());
        } catch (Throwable e) {e.printStackTrace();}
      }
    }
    String[] result = (String[]) set.toArray(new String[0]);
    java.util.Arrays.sort(result);
    return result;
  }
分享到:
评论

相关推荐

    java线程详解

    Java线程:概念与原理 Java线程:创建与启动 Java线程:线程状态的转换 Java线程:线程的同步与锁 一、同步问题提出 二、同步和锁定 三、静态方法同步 四、如果线程不能不能获得锁会怎么样 五、何时需要同步...

    Java 并发学习笔记:进程和线程,并发理论,并发关键字,Lock 体系,原子操作类,发容器 &amp; 并发工具,线程池,并发实践

    Java的可移植性使得它在各种设备和应用中得到广泛应用。它可以用于开发桌面应用程序、移动应用程序、Web应用程序、嵌入式系统等。由于Java的高性能和稳定性,许多大型企业和互联网公司选择使用Java开发核心业务系统...

    线程优先级|java线程优先级

    * &lt;p&gt;Title: 提高线程优先级 * &lt;p&gt;Description: 通过修改线程的优先级,是线程获得优先处理。 * &lt;p&gt;Copyright: Copyright (c) 2003 * &lt;p&gt;Filename: upPRIThread.java * @author * @version 1.0

    java线程实验读写文件

    评选班级三好学生,根据三个指标:学习成绩加权平均分(grade)、四六级成绩(englishGrade)、获奖分数(hortation)。...3、编写两个线程:一个线程从文本中读取数据;另一个线程算出该条数据的score

    Java多线程详解及示例

    本文将深入探讨Java多线程编程的重要性和使用方法。介绍多线程概念,讨论多线程的优势,并提供实际示例。此外,还将探讨多线程编程中的常见问题以及如何...通过本文,您将获得对Java多线程编程的全面理解和实践经验。

    Java学习源码Java多线程的代码

    如何得到多线程的一些信息 如何停止线程 如何暂停线程 线程的一些其他用法 在char02包里放置了Java对变量和对象并发访问的知识的代码。内容如下: 对于方法的同步处理 对于语句块的同步处理 对类加锁的同步...

    java多线程下载

    1.得到服务器下载文件的大小,然后在本地设置一个临时文件和服务器端文件大小一致 a)获得访问网络地址 b)通过URL对象的openConnection()方法打开连接,返回一个连接对象 c)设置请求头 i.setRequestMethod ii....

    JAVA多线程本地IP端口扫描器

    自己制作的JAVA制作的多线程的可用端口扫描。运用了java的swing组件,利用多线程加快扫描速度。功能:获得本地IP,扫描可用端口。 含有两个文件,(main)主类文件,线程类文件。

    JAVA多线程测试工具

    线程测试工具,压力测试网页,调用地址神器。可以轻松的得到系统的瓶颈,并发数。

    Tesseract OCR多线程并发识别案例

    Tesseract OCR多线程并发识别案例----只演示多线程并发识别,此工具不关注识别正确率,可通过训练tessdata来获得更高的识别正确率。

    Java实现多线程下载和断点续传

    1. 把每个下载文件切成若干个块(Block),然后得到一个位图,用来标记每个块的下载情况,并保存到文件里,用于实现断点续传。 2. HTTP Header里增加Range,如果服务器返回Cotent-Range 说明服务器支持文件定位,可以...

    Java多线程编程 线程同步机制.docx

    一旦获得锁后,就可以访问共享数据,并且一个锁同一时刻只能被一个线程持有,这意味着获得锁后不会有其他线程再访问共享数据。访问共享数据结束后线程必须释放锁。锁的持有线程在其获得锁之后和释放锁之前这段时间内...

    eclipse项目java线程实例

    本项目实例在eclipse下开发,所包含的技术主要包括java线程编程,是很好的学习资料

    线程超时死掉

    解决线程的死掉问题和超时问题特别好使,在Java中,如果需要设定代码执行的最长时间,即超时,可以用Java线程池ExecutorService类配合Future接口来实现。 Future接口是Java标准API的一部分,在java.util.concurrent...

    多线程面试相关知识点

    1. 什么是线程: 线程就是程序中单独顺序的流控制。线程本身不能运行,它只能用于程序中。 2. 什么是多线程: 多线程则指的是在单个程序中可以同时运行多个不同的线程执行不同的任务. 说明: 线程是程序内的顺序...

    java面试题(线程和JSP及EJB部分).pdf

    1、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 答:有两种实现方法,分别是继承Thread类与实现Runnable 接口 用synchronized 关键字修饰同步方法 反对...

    深入研究java的几个类--Java多线程编程总结

    在Java程序中,JVM负责线程的调度。...分时调度是所有线程轮流获得CPU使用权,并平均分配每个线程占用CPU的时间;抢占式调度是根据线程的优先级别来获取CPU的使用权。JVM的线程调度模式采用了抢占式模式

    Java Core Sprout:基础、并发、算法

    Java多线程 多线程中的常见问题 同步关键字原理 多线程的三大核心 对锁的一些认知 ReentrantLock实现原理 ConcurrentHashMap 的实现原理 如何优雅地使用和理解线程池 深入理解线程通信 一个线程召集的诡异事件 ...

    【Java正来-深入理解JVM】线程安全与优化。xmind思维导图

    线程安全与锁优化:当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者再调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果。

    Java线程的6种状态及切换(透彻讲解).docx

    2. 运行(RUNNABLE) :Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。 线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被...

Global site tag (gtag.js) - Google Analytics