Java:ThreadPool和ThreadGroup之间的区别和用途?

Java:ThreadPool和ThreadGroup之间的区别和用途?,java,multithreading,Java,Multithreading,我是java中的一个机器人创造者,很长一段时间以来我一直在使用单个线程;对我来说,使用多线程构建应用程序非常重要。昨天我读了一些关于线程池和线程组的文章,但我真的不知道哪个更好用。所以我想读一些关于这些问题的最口语化的观点,例如用法、效率、易于实现等等 任何意见对我都很重要,感谢所有回复我的人 I use this online to open the post. I dont have any code. Thread group类是在JDK 1.0中创建的,用于同时管理多个线程的状态,例如

我是java中的一个机器人创造者,很长一段时间以来我一直在使用单个线程;对我来说,使用多线程构建应用程序非常重要。昨天我读了一些关于线程池和线程组的文章,但我真的不知道哪个更好用。所以我想读一些关于这些问题的最口语化的观点,例如用法、效率、易于实现等等

任何意见对我都很重要,感谢所有回复我的人

I use this online to open the post. I dont have any code.

Thread group类是在JDK 1.0中创建的,用于同时管理多个线程的状态,例如挂起、恢复等。后来,它的大多数重要方法都被弃用,因为它们可能会造成死锁


线程池是一个体系结构概念,其中多个线程组成一个工作线程池,一起工作。不是每个任务跨一个线程,而是在开始时创建线程池,线程池从类似队列的数据结构中逐个拾取任务并执行它们。执行任务后,每个任务都可以为队列中的另一个任务提供服务。Java 1.5中的Executor框架在此上下文中使用线程池。

回答得好,Puja。但请不要在你的帖子中添加不相关的链接或签名。您可以从个人资料页面链接到个人或商业网站,或任何您想要推广的内容。任何类型的池都是可以重复使用的对象集合。有些对象,如
线程
,创建成本很高。重复使用它们的应用程序比不断创建和销毁对象的应用程序性能更好。线程池中的线程都有相同的
run()
方法:它循环,试图从队列中
获取一个任务(例如
Runnable
),每次获取一个任务时,它都执行该任务(调用
task.run()
),然后返回等待另一个任务。有关更多信息,请参阅java.util.concurrent.ThreadPoolExecutor的javadoc。