java - 特定线程数

标签 java multithreading thread-safety

我想知道特定 Thread 类有多少个 Activity 线程。 假设我有一个扩展线程的类 T。在其他一些类(例如:演示)中,我想获取 T 类线程的线程计数。我确实知道 Thread.activeCount() 方法,但它会获取线程组的计数。它在这里不能满足我的需要。假设我有扩展线程的 T1 和 T2 类,在演示类中我想获取有多少个 T2 Activity 线程。 我应该如何实现这个目标?有什么想法吗??

PS:我没有 T1 和 T2 类的源代码。

感谢您的帮助。

最佳答案

您可以使用Thread.enumerate():

public int countThreadsOfClass(Class<? extends Thread> clazz) {
    Thread[] tarray = new Thread[Thread.activeCount()];
    Thread.enumerate(tarray);
    int count = 0;
    for(Thread t : tarray) {
        if(clazz.isInstance(t))
            count++;
    }
    return count;
}

关于java - 特定线程数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32326388/

相关文章:

java.lang.NoSuchMethodException : userAuth. User.<init>()

c++ - 在单独的线程中为新小部件设置公共(public)父 Qt 小部件

go - Go中的单例实现

java - 在Java中如何调用默认的媒体播放器来播放wav文件?

java - Spring Data JPA NativeQuery 类似搜索

java - 如何解决下载时 JavaFX ProgressIndicator 重画问题?

java - Eclipse 中 Thread.run() 的调用层次结构

java - 错误 Java 异常 java.lang.IllegalThreadStateException

c# - Interlocked.Exchange 和 Volatile.Write 之间的区别?

multithreading - 多个线程在 C++ 中等待同一个事件句柄