Rumah > Java > javaTutorial > teks badan

ThreadGroup dalam Java

王林
Lepaskan: 2024-08-30 16:07:45
asal
386 orang telah melayarinya

ThreadGroup dalam java boleh ditakrifkan sebagai koleksi utas yang dicipta untuk berfungsi sebagai satu unit, ThreadGroup dalam java biasanya digunakan apabila terdapat keperluan untuk melakukan operasi gabungan pada kumpulan utas; ThreadGroup menawarkan cara yang cekap untuk mengurus berbilang rangkaian.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Sintaks:

Berikut ialah sintaks cara ThreadGroup dicipta dan digunakan dalam Java.

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
}
}
Salin selepas log masuk

Dalam sintaks di atas, kami telah mencipta contoh ThreadGroup dan mencipta dua utas yang merupakan sebahagian daripada kumpulan utas. Kami mempunyai kelas utama dan kelas utas, ialah nama benang induk.

Bagaimana ThreadGroup berfungsi dalam Java?

  • Kumpulan Benang ialah koleksi berbilang urutan yang berkaitan. Kumpulan benang membenarkan pembangun mengendalikan berbilang benang java secara serentak dan tersedia dalam pakej java.lang.
  • Kumpulan benang dalaman boleh dianggap sebagai pokok di mana setiap benang mempunyai induk, kecuali benang induk yang tidak mempunyai induk yang dikaitkan dengannya.
  • Perlu diambil perhatian bahawa utas yang dimiliki oleh kumpulan utas tertentu mempunyai akses kepada maklumat tentang kumpulan utas yang sama yang dimiliki oleh utas itu; ia tidak mempunyai sebarang maklumat tentang kumpulan utas induknya atau mana-mana kumpulan utas lain.

Berikut ialah perihalan pembina yang tersedia dalam 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.
Pembina

Penerangan
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.
TreadGroup awam(Nama rentetan) Pembina ini digunakan untuk mencipta kumpulan utas baharu, induk kumpulan utas ini adalah sama dengan kumpulan induk bagi utas yang sedang dilaksanakan. Pembina ini boleh membuang SecurityException sekiranya utas yang sedang berjalan tidak mempunyai kebenaran untuk membuat kumpulan utas. ThreadGroup awam(ThreadGroupparentgroup,String name) Pembina ini mencipta kumpulan benang dengan kumpulan benang yang ditentukan sebagai induk dan nama yang ditentukan. Pembina ini boleh membuang NullPointerException sekiranya kumpulan utas yang ditentukan adalah batal dan SecurityException mungkin dilemparkan sekiranya utas yang sedang berjalan tidak mempunyai kebenaran untuk membuat kumpulan utas.

Berikut ialah senarai beberapa kaedah penting yang terdapat dalam java.lang.ThreadGroup:

Kaedah

Penerangan

int activeCount() Kaedah ini mengembalikan bilangan urutan berjalan aktif yang tersedia dalam kumpulan benang tertentu. int activeGroupCount() Kaedah ini mengembalikan bilangan kumpulan benang aktif yang sedang berjalan. musnahkan() Kaedah ini memusnahkan kumpulan benang dan subkumpulannya jika tersedia. int enumerate(Thread arr[]) Panggilan ke kaedah ini meletakkan urutan tersedia dalam memanggil kumpulan benang ke dalam tatasusunan kumpulan urutan. int enumerate(Thread arr[], boolean recurse) Panggilan ke kaedah ini meletakkan benang tersedia dalam memanggil kumpulan benang ke dalam tatasusunan kumpulan benang; jika bendera rekursif adalah benar, maka urutan dalam subkumpulan turut ditambahkan pada kumpulan. int enumerate(ThreadGroup[] thgrp) Kaedah ini meletakkan subkumpulan kumpulan benang yang memanggil ke dalam tatasusunan kumpulan benang. int enumerate(ThreadGroup[] thgrp, rekursif boolean) Kaedah ini meletakkan subkumpulan kumpulan benang yang memanggil ke dalam tatasusunan kumpulan benang; jika bendera rekursif ditetapkan kepada benar, maka semua subkumpulan subkumpulan ditambahkan pada tatasusunan kumpulan.

Selain daripada kaedah yang disenaraikan di atas, terdapat juga kaedah lain yang boleh digunakan mengikut keperluan.

Contoh ThreadGroup dalam Java

Diberikan di bawah adalah contoh ThreadGroup dalam Java: Contoh

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());
}
}
Salin selepas log masuk
Di sini kita akan melihat cara mengurut kumpulan digunakan dalam java.

Kod:

ThreadGroup dalam Java

Output:

Kesimpulan Artikel di atas menerangkan dengan jelas cara kerja kumpulan benang dalam java; ia ialah cara terbina untuk mengurus berbilang benang. Contoh kod java yang diterangkan di atas cara mengulirkan kumpulan digunakan dalam aplikasi java.

Atas ialah kandungan terperinci ThreadGroup dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan