001
014
015 package com.liferay.portal.kernel.util;
016
017
020 public class ThreadUtil {
021
022 public static Thread[] getThreads() {
023 Thread currentThread = Thread.currentThread();
024
025 ThreadGroup threadGroup = currentThread.getThreadGroup( );
026
027 while (threadGroup.getParent() != null) {
028 threadGroup = threadGroup.getParent();
029 }
030
031 int threadCountGuess = threadGroup.activeCount();
032
033 Thread[] threads = new Thread[threadCountGuess];
034
035 int threadCountActual = threadGroup.enumerate(threads);
036
037 while (threadCountActual == threadCountGuess) {
038 threadCountGuess *= 2;
039
040 threads = new Thread[threadCountGuess];
041
042 threadCountActual = threadGroup.enumerate(threads);
043 }
044
045 return threads;
046 }
047
048 }