Oftentimes, you might want to understand and control all the threads in your runtime. Java provides an effective and easy mechanism to achieve this using Thread.activeCount() and Thread.enumerate() methods.
public class KnowAllThreads { public static void main(String args[]) { Thread myThread = Thread.currentThread(); myThread.setName("My Thread"); myThread.setPriority(1); System.out.println("Current thread: " + myThread); int activeThreadsCount = Thread.activeCount(); System.out.println("Count of active threads: " + activeThreadsCount); Thread allThreads[] = new Thread[activeThreadsCount]; Thread.enumerate(allThreads); for (Thread threadDetails : allThreads) { System.out.println(threadDetails); } }}