0 0

关于《Effective Java》中对于线程组的疑问5

我在《Effective Java》(第2版中文版)的第73条看到,作者说“线程组并没有提供太多有用的功能,而它们提供的许多功能还都是有缺陷的。我们最好把线程组看作是一个不成功的试验,你可以忽略掉它们,就当它们根本不存在一样。如果你正在设计的一个类需要处理线程的逻辑组,或许就应该使用线程池executor。”

但是在Executor中创建一个线程池是需要一个ThreadFactory实例的。默认使用Executors.DefaultThreadFactory(如果我没把类名记错的话),而在这个DefaultThreadFactory里的实现是:
static class DefaultThreadFactory implements ThreadFactory {
        private static final AtomicInteger poolNumber = new AtomicInteger(1);
        private final ThreadGroup group;
        private final AtomicInteger threadNumber = new AtomicInteger(1);
        private final String namePrefix;

        DefaultThreadFactory() {
            SecurityManager s = System.getSecurityManager();
            group = (s != null) ? s.getThreadGroup() :
                                  Thread.currentThread().getThreadGroup();
            namePrefix = "pool-" +
                          poolNumber.getAndIncrement() +
                         "-thread-";
        }

        public Thread newThread(Runnable r) {
            Thread t = new Thread(group, r,
                                  namePrefix + threadNumber.getAndIncrement(),
                                  0);
            if (t.isDaemon())
                t.setDaemon(false);
            if (t.getPriority() != Thread.NORM_PRIORITY)
                t.setPriority(Thread.NORM_PRIORITY);
            return t;
        }
    }


在这里面还是使用到了线程组的对象。。这样不是也会用到线程组吗?
目前还没有答案

相关推荐

    Effective Java读书笔记.pdf

    Effective Java是一本关于Java编程语言的经典书籍,本笔记主要总结了Java语言的发展历程、静态工厂方法的应用、构造器模式的使用等重要知识点。 一、Java语言的发展历程 Java语言的发展可追溯到1991年,当时由...

    Effective Java第三版1

    在Effective Java中,作者可能会讨论最佳实践的重要性,以及遵循这些实践如何提升代码质量。 ### 第二章 创建和销毁对象 这一章深入探讨了对象的生命周期管理,包括: 1. **静态工厂方法**:相比构造器,静态工厂...

    effective-java.pdf

    最后,文档提到了Java 8和Java 9中关于接口的静态成员的变化。Java 8允许在接口中定义静态方法,但静态成员必须是公开的。而到了Java 9,接口中的静态成员可以是私有的。这些变化对编写接口和使用静态工厂方法的实践...

    effectiveJava课件分享

    在编程领域,特别是Java开发中,"Effective Java"是一本非常经典的书籍,由Joshua Bloch撰写,书中提出了一系列最佳实践和设计原则,以帮助开发者编写出更高效、更安全的代码。根据提供的标题和描述,我们将探讨三个...

    Effective.Enterprise.Java.中文版 高清pdf 下载

    《Effective Enterprise Java》是Java开发领域的一本经典著作,由著名技术专家Bill Venners编著,被广大Java开发者誉为“四大名著”之一。这本书深入探讨了在企业级Java开发中如何写出高效、可维护和易于理解的代码...

    effective java 读书笔记

    - Item7:Java中的finalizers用于清理对象资源,但不应依赖其执行,因为它们可能不会被调用,而且会影响垃圾收集性能。 4. **通用方法设计** - Item8:equals方法应与`==`操作符一致,同时对所有字段进行比较。...

    effective-java 配套代码

    1. **枚举(Enums)**: 书中强调了枚举类型在Java中的强大作用,不仅提高了安全性,还简化了代码。你可以看到如何定义枚举,以及如何使用枚举方法和枚举常量。 2. **单例模式(Singletons)**: 书中讨论了几种实现...

    《Effective Java》读书分享.pptx

    "Effective Java 读书分享" 《Effective Java》读书分享.pptx 是一本 Java 编程语言指南,旨在帮助开发者编写高质量、可维护的 Java 代码。该书包含 90 个条目,每个条目讨论一条规则,涵盖了 Java 编程语言的...

    Effective Enterprise Java(中文) Effective Enterprise Java(中文)

    本书详细介绍企业级计算技术中的常见问题,并描述使用企业级Java平台技术处理这些问题的方法。本书以若干条建议、揸南的形式,言简意赅地介绍了J2EE开发中的微妙之处。无论你是否是Java开发人员,本书都将为你开发...

    Effective java 3 学习记录.docx

    本学习记录主要介绍了 Effective Java 3 中的静态工厂方法和 Builder 模式两部分内容。 一、静态工厂方法 静态工厂方法是指返回类实例的命名规则,例如:from、of、valueOf、instance 或 getinstance、create 或 ...

    Effective Java.zip

    《Effective Java》是一本经典Java编程指南,作者是Joshua Bloch,这本书深入探讨了...以上内容仅是《Effective Java》各章节的部分知识点概述,书中还有更多关于Java编程的最佳实践和深入理解等待读者去发掘和学习。

    effective enterprise java 中文版

    《Effective Enterprise Java》是一本由James Gosling、Bill Venners和Cay S. Horstmann合著的经典著作,旨在帮助Java开发者深入理解和利用企业级Java技术。这本书提供了78条具体的建议,涵盖了从设计模式到并发编程...

    Effective Enterprise Java

    在Java EE(现在称为Jakarta EE)中,开发者需要处理各种复杂的问题,例如多线程、网络通信、数据库交互、事务管理、安全控制以及分布式服务等。《Effective Enterprise Java》通过深入剖析这些关键领域,提供了许多...

    effecctivejava 第三版中文

    3. **重用对象而非克隆**:在Java中,深拷贝和浅拷贝的概念很重要,但通常应优先考虑重用对象而不是复制它们,除非确实需要复制。 4. **避免 finalize 方法**:由于 finalize 方法的执行时间不确定,容易导致内存...

    Java并发中的线程安全性

    Joshua Bloch在其著作《Effective Java》中提出了一种线程安全性等级的概念,将线程安全性分为以下几个等级: 1. **线程安全(Thread-Safe)**:即使没有外部同步机制,也可以在多线程环境下正确工作。 2. **可重入...

    Effective Java 第三版

    《Effective Java 第三版》是由Joshua Bloch所著的一本关于Java编程的书籍,旨在向Java开发者传授编写高效、健壮、可靠的Java代码的最佳实践。书中分为多个章节,每一章节都详细介绍了Java语言中的一个特定主题,并...

Global site tag (gtag.js) - Google Analytics