Java 中的线程组是什么?
2022-09-04 03:48:15
我想知道为什么互联网上关于线程组的文档如此之少?它们是否仍在使用,或者它们是一些过时的概念?有人可以解释一下:
它们是什么。
它们的用途。
如果它们仍然使用,在哪里?
给出一些真实的应用程序示例(也许是Web服务器)。
我想知道为什么互联网上关于线程组的文档如此之少?它们是否仍在使用,或者它们是一些过时的概念?有人可以解释一下:
它们是什么。
它们的用途。
如果它们仍然使用,在哪里?
给出一些真实的应用程序示例(也许是Web服务器)。
它们用作一组线程。在一个简单的应用程序中,您只需要一个,但在更复杂的应用程序服务器中,为每个应用程序设置一个是有意义的。
为什么互联网上关于线程组的文档如此之少?
我想有些人认为这是一个非常简单的想法。不知道它缺少什么。
它们是否仍在使用,或者它们是一些过时的概念?
我想大多数开发人员从来不考虑线程组。但我认为它们在某些情况下是有用的。我们有一个库,其中有一个自定义的线程组,用于重置线程关联。
有人可以解释一下,如果仍然使用,它们是什么用途,并举个例子。
大多数情况下,在应用程序服务器中,每个服务器都有自己的线程集合,并且可以集中管理。如果要监视或关闭应用程序,则需要知道应用程序启动了哪些线程。
如果在 ThreadGroup 中启动一个线程,则它创建的每个 Thread 也将在该线程组中。如果没有此功能,您将很难将线程分配给应用程序。
来自 @biziclop: 如何可靠地枚举组中的线程?
您可以获取活动线程的大小,并在 ThreadGroup 锁定时枚举(无论好坏)this
synchronized(threadGroup) {
Thread[] threads = threadGroup.activeCount();
threadGroup.enumerate(threads);
// use threads before the lock is released or it could be wrong.
}