gpt4 book ai didi

java - ThreadGroup.activeCount() 方法在 java 中不起作用

转载 作者:行者123 更新时间:2023-12-01 22:06:09 26 4
gpt4 key购买 nike

我正在学习多线程的概念,我试图找到数组中 Activity 线程的数量,但是 ThreadGroup.activeCount() 的方法> 仅返回零值。

这是代码:

线程对象类:-

class th1 extends Thread
{
public th1(String threadName, ThreadGroup tg1)
{
super(tg1, threadName);
}

@Override
public void run()
{
try {
Thread.sleep(5000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}

System.out.println(Thread.currentThread().getName() + " is running");
}
}

主类:-

public class enumerate_demo 
{
public static void main(String[] args)
{
ThreadGroup tg1 = new ThreadGroup("group 1");

Thread t1 = new Thread(new th1("t-1", tg1));
t1.start();

Thread t2 = new Thread(new th1("t-2", tg1));
t2.start();

Thread t3 = new Thread(new th1("t-3", tg1));
t3.start();

System.out.println("Number of active count :- " + tg1.activeCount());

Thread[] group = new Thread[tg1.activeCount()];

int count = tg1.enumerate(group);

for (int i = 0; i < count; i++)
{
System.out.println("Thread " + group[i].getName());
}
}
}

最佳答案

问题是,在创建实例th1类时,您将它们用作Runnable,而不是Thread。这些包装器线程不与任何 ThreadGroup 关联。声明变量如下。

        Thread t1 = new th1("t-1", tg1);
t1.start();

关于java - ThreadGroup.activeCount() 方法在 java 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58686847/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com