Java :Thread Enumeration


 

Java :Thread Enumeration

In this tutorial you will learn about java thread enumeration.

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.

Ads