Java の ThreadGroup は、ユニットとして動作するように作成されたスレッドのコレクションとして定義できます。Java の ThreadGroup は、通常、スレッドのグループに対して結合された操作を実行する必要がある場合に使用されます。 ThreadGroup は、複数のスレッドを管理する効率的な方法を提供します。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
構文:
Java で ThreadGroup を作成および使用する方法の構文を次に示します。
package <packagename>; public class <mainclassname>{ public static void main(String args[]){ // creating threadgroup object ThreadGroup grp= new ThreadGroup(“<parent thread name>”); // creating threads belonging to given thread group <ThreadClassName> one =new <ThreadClassName>(“<threadname1>”, grp); // creating first member of thread group <ThreadClassName> two =new <ThreadClassName>(“<threadname2>”, grp); // creating second member of thread group } } class <ThreadClassName> extends Thread{ <ThreadClassName>(String threadName, ThreadGroup grp){ super(threadName,grp); // call to parent class constructor start(); // start the thread } public void run(){ // implement required logic } }
上記の構文では、ThreadGroup インスタンスを作成し、スレッド グループの一部である 2 つのスレッドを作成しました。メイン クラスとスレッド クラス、 があります。は親スレッドの名前です。
java.lang.ThreadGroup で使用できるコンストラクターの説明は次のとおりです:
Constructor | Description |
public ThreadGroup(String name) | This constructor is used for creating a new thread group, the parent of this thread group is the same as the parent group of the currently executing thread. This constructor may throw SecurityException in case the currently running thread does not have permission to create a thread group. |
public ThreadGroup(ThreadGroupparentgroup,String name) | This constructor creates a thread group with a specified thread group as a parent and specified name. This constructor may throw NullPointerException in case the specified thread group is null, and SecurityException may be thrown in case the currently running thread does not have permission to create a thread group. |
Method | Description |
int activeCount() | This method returns the number of active running threads available in a given thread group. |
int activeGroupCount() | This method returns the number of active thread groups running. |
destroy() | This method destroys the thread group and its sub groups if available. |
int enumerate(Thread arr[]) | Call to this method puts the thread available in invoking thread group into the group array of threads. |
int enumerate(Thread arr[], boolean recurse) | Call to this method puts the thread available in invoking thread group into the group array of threads; if the recursive flag is true, then threads in subgroups are also added to the group. |
int enumerate(ThreadGroup[] thgrp) | This method puts the subgroups of the invoking thread group into the thread group array. |
int enumerate(ThreadGroup[] thgrp, boolean recursive) | This method puts the subgroups of the invoking thread group into the thread group array; if the recursive flag is set to true, then all subgroups of subgroups are added to the group array. |
ここでは、java.lang.ThreadGroup で使用できるいくつかの重要なメソッドのリストを示します:
説明
Java での ThreadGroup の例
以下は Java での ThreadGroup の例です。 例
package com.educba.threadgroupdemo; import java.lang.*; class ThreadDemo extends Thread { ThreadDemo(String threadname, ThreadGroup thgrp) { super(thgrp, threadname); start(); } public void run() { // implement required logic inside run method for (int i = 0; i < 2000; i++) { try { Thread.sleep(20); } catch (InterruptedException e) { System.out.println("InterruptedException Exception encountered"); } } } } public class ThreadGroupDemo { public static void main(String args[]) { // creating the thread group ThreadGroup grp = new ThreadGroup("parent-thread"); // creating new thread and adding to thread group ThreadDemo t1 = new ThreadDemo("first", grp); System.out.println("Starting first thread"); // creating another thread and adding to thread group ThreadDemo t2 = new ThreadDemo("two", grp); System.out.println("Starting second thread"); // finding the number of active threads System.out.println("Number of active threads running in thread group: " + grp.activeCount()); } }ここでは、Java でスレッド グループを使用する方法を見ていきます。
コード:
結論 上記の記事では、Java のスレッド グループの動作について明確に説明しています。これは、複数のスレッドを管理するための組み込みの方法です。上で説明した Java コード例は、スレッド グループを Java アプリケーションで使用する方法を示しています。
以上がJavaのスレッドグループの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。