Java Thread activeCount() Method



Description

The Java Thread activeCount() method returns the number of active threads in the current thread's thread group.

Declaration

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

public static int activeCount()

Parameters

NA

Return Value

This method returns the number of active threads in the current thread's thread group.

Exception

NA

Example: Getting Active Thread Count in Single Threaded Program

The following example shows the usage of Java Thread activeCount() method. In this program, we've created a class ThreadDemo. In main method, current thread is retrieved using currentThread() method and it is printed. Using activeCount(), the count of active thread is retrieved and printed. As next, we've created an array of active threads and iterated them to print on console.

package com.tutorialspoint;

public class ThreadDemo {

   public static void main(String[] args) {

      Thread t = Thread.currentThread();
      t.setName("Admin Thread");
      
      // set thread priority to 1
      t.setPriority(1);
     
      // 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 
      Thread.enumerate(th);
    
      // prints active threads
      for (int i = 0; i < count; i++) {
         System.out.println(i + ": " + th[i]);
      }
   }
} 

Output

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

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

Example: Getting Active Thread Count in Multi-Threaded Program

The following example shows the usage of Java Thread activeCount() method. In this program, we've created a thread class ThreadDemo by implementing Runnable interface. In constructor, current thread is retrieved using currentThread() method and a new thread is created using new Thread. Using activeCount(), the count of active thread is retrieved and printed.

package com.tutorialspoint;

public class ThreadDemo implements Runnable {

   ThreadDemo() {
      // main thread
      Thread currThread = Thread.currentThread();
      
      // thread created
      Thread t = new Thread(this, "Admin Thread");
      
      // this will call run() function
      t.start();
      int count = Thread.activeCount();
      System.out.println("currently active threads = " + count);
   }

   public void run() {
      System.out.println("This is run() method");
   }

   public static void main(String args[]) {
      new ThreadDemo();
   }
}

Output

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

This is run() method
currently active threads = 2
java_lang_thread.htm
Advertisements