Java.lang.Thread.enumerate() Method



The java.lang.Thread.enumerate() method copies into the specified array every active thread in the current thread's thread group and its subgroups. It calls the enumerate method of the current thread's thread group with the tarray argument.


Following is the declaration for java.lang.Thread.enumerate() method

public static int enumerate(Thread[] tarray)


  • tarray -- This is an an array of Thread objects to copy to.

Return Value

This method returns the number of threads put into the array


  • SecurityException -- if a security manager exists and its checkAccess method doesn't allow the operation.


The following example shows the usage of java.lang.Thread.enumerate() method.

package com.tutorialspoint;

import java.lang.*;

public class ThreadDemo {

   public static void main(String[] args) {

   Thread t = Thread.currentThread();
   t.setName("Admin Thread");
   // prints the current thread
   System.out.println("Thread = " + t);
   int count = Thread.activeCount();
   System.out.println("currently active threads = " + count);
   Thread th[] = new Thread[count];
   // returns the number of threads put into the array 
   // prints active threads
   for (int i = 0; i < count; i++) {
   System.out.println(i + ": " + th[i]);

Let us compile and run the above program, this will produce the following result:

Thread = Thread[Admin Thread,5,main]
currently active threads = 1
0: Thread[Admin Thread,5,main]