java enumerate_Java Thread enumerate()方法

Thread类的enumerate()方法用于将每个活动线程的线程组及其子组复制到指定的数组中。 此方法使用tarray参数调用enumerate方法。

此方法使用activeCount方法来估计数组应该有多大。 如果数组的长度太短而无法容纳所有线程,则会以静默方式忽略额外的线程。

语法

public static int enumerate(Thread[] tarray)

参数

tarray :此方法是要复制到的Thread对象数组。

返回此方法返回放入数组的线程数。

示例

public class JavaEnumerateExp extends Thread { JavaEnumerateExp(String threadname, ThreadGroup tg) { super(tg, threadname); start(); } public void run() { for (int i = 0; i < 5; i++) { try { Thread.sleep(10); } catch (InterruptedException ex) { System.out.println("Exception encounterted");} } System.out.println(Thread.currentThread().getName() +" completed executing"); } public static void main(String arg[]) throws InterruptedException,SecurityException { // creating the ThreadGroup ThreadGroup g1 = new ThreadGroup("Parent thread"); // creating a child ThreadGroup for parent ThreadGroup ThreadGroup g2 = new ThreadGroup(g1, "child thread"); // creating a thread JavaEnumerateExp t1 = new JavaEnumerateExp("Thread-1", g1); System.out.println("Starting of Thread-1"); // creating another thread JavaEnumerateExp t2 = new JavaEnumerateExp("Thread-2", g1); System.out.println("Starting of Thread-2"); // returns the number of threads put into the array Thread[] group = new Thread[g1.activeCount()]; int count = g1.enumerate(group); // prints active threads for (int i = 0; i < count; i++) { System.out.println(group[i].getName() + " found"); } } }

执行上面示例代码,得到以下结果:

Starting of Thread-1 Starting of Thread-2 Thread-1 found Thread-2 found Thread-1 completed executing Thread-2 completed executing

¥ 我要打赏 纠错/补充 收藏

哥,这回真没有了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值