Thread
Group class provides two methods to find the sub groups of a
particular group
1.
public int enumerate(ThreadGroup[] list)
Copies
into the specified array references to every active subgroup in this
thread group and its subgroups recursively. Returns the number of
thread groups put into the array.
Example
class GroupEx{ public static void main(String args[]){ ThreadGroup group1 = new ThreadGroup("group1"); ThreadGroup group2 = new ThreadGroup(group1, "group2"); ThreadGroup group3 = new ThreadGroup(group2, "group3"); ThreadGroup group4 = new ThreadGroup(group2, "group4"); int noOfGroups = group1.activeGroupCount(); ThreadGroup allGroups[] = new ThreadGroup[noOfGroups]; group1.enumerate(allGroups); System.out.println("group1 has " +noOfGroups + " sub groups"); System.out.println("Sub groups in the group1 are "); for(int i=0; i < allGroups.length; i++){ System.out.println(allGroups[i].getName()); } } }
Output
group1 has 3 sub groups
Sub groups in the group1 are
group2
group3
group4
2.
public int enumerate(ThreadGroup[] list, boolean recurse)
Copies
into the specified array references to every active subgroup in this
thread group. If recurse is true, this method recursively enumerates
all subgroups of this thread group and references to every active
thread group in these subgroups are also included. Returns the number
of thread groups put into the array.
Example1
: Recursively finds the sub groups
class GroupEx{ public static void main(String args[]){ ThreadGroup group1 = new ThreadGroup("group1"); ThreadGroup group2 = new ThreadGroup(group1, "group2"); ThreadGroup group3 = new ThreadGroup(group2, "group3"); ThreadGroup group4 = new ThreadGroup(group2, "group4"); int noOfGroups = group1.activeGroupCount(); ThreadGroup allGroups[] = new ThreadGroup[noOfGroups]; group1.enumerate(allGroups, true); System.out.println("group1 has " +noOfGroups + " sub groups"); System.out.println("Sub groups in the group1 are "); for(int i=0; i < allGroups.length; i++){ System.out.println(allGroups[i].getName()); } } }
Output
group1 has 3 sub groups
Sub groups in the group1 are
group2
group3
group4
Example2
: Finds the sub groups with out recursive travels
class GroupEx{ public static void main(String args[]){ ThreadGroup group1 = new ThreadGroup("group1"); ThreadGroup group2 = new ThreadGroup(group1, "group2"); ThreadGroup group3 = new ThreadGroup(group2, "group3"); ThreadGroup group4 = new ThreadGroup(group2, "group4"); int noOfGroups = group1.activeGroupCount(); ThreadGroup allGroups[] = new ThreadGroup[noOfGroups]; int length = group1.enumerate(allGroups, false); System.out.println("group1 has " +noOfGroups + " sub groups"); System.out.println("Sub groups in the group1 are "); for(int i=0; i < length; i++){ System.out.println(allGroups[i].getName()); } } }
Output
group1 has 3 sub groups
Sub groups in the group1 are
group2
Some
Points to Remember
1.
Invocation of enumerate(list) exactly behaves as enumerate(list,
true)
No comments:
Post a Comment