Home Tutorial Java Core Java :Thread Enumeration

 
 

Java :Thread Enumeration
Posted on: November 6, 2012 at 12:00 AM
In this tutorial you will learn about java thread enumeration.

Java :Thread Enumeration

In this tutorial you will learn about java thread enumeration.

Thread Enumeration :

For enumeration, thread uses two methods activeCount() and enumerate(). activeCount() method returns count of all active threads. This count size is used for array of Thread references. Calculating the size of array, it is given to the enumerate() method.

public static int enumerate(Thread[] tarray) - This method copies all active threads in the current thread's thread group and its subgroups.
It takes array of Thread objects as argument. It returns the number of threads which are put into the array. This method throws SecurityException.

Example : In this example we are using enumerate() method of thread.


class ThreadEnumeration implements Runnable {

	public void run() {
		Thread thread = Thread.currentThread();
		try {
			thread.sleep(100);
		} catch (Exception e) {
		}
		System.out.println("Starting " + thread.getName() + "...");
		for (int i = 0; i <= 1; i++) {
			System.out.println(i);
		}
		System.out.println(Thread.currentThread().getName()
				+ " has finished executing.");
	}

	public static void main(String args[]) {

		ThreadGroup threadGroup1 = new ThreadGroup("ThreadGroup1");
		ThreadGroup threadGroup2 = new ThreadGroup("ThreadGroup2");

		new Thread(threadGroup1, new ThreadEnumeration()).start();
		new Thread(threadGroup2, new ThreadEnumeration()).start();

		Thread[] threads = new Thread[threadGroup1.activeCount()];
		int numThreads = threadGroup1.enumerate(threads, true);
		for (int i = 0; i < numThreads; i++) {
			System.out.println("Found Thread " + threads[i].getName());
		}
	}
}

Output :

Found Thread Thread-0
Starting Thread-1...
0
1
Thread-1 has finished executing.
Starting Thread-0...
0
1
Thread-0 has finished executing.

Related Tags for Java :Thread Enumeration:


Ask Questions?

If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.

Ask your questions, our development team will try to give answers to your questions.