【发布时间】:2015-09-13 01:20:22
【问题描述】:
java.lang.Thread 类有一个构造函数,它只接受一个字符串参数作为线程名称。它有一个构造函数,它只接受一个 Runnable 目标。但它也有一个默认构造函数。这意味着名称或 Runnable 目标不是强制性的。
但是在使用 ThreadGroup 创建线程时,这有点不同。没有构造函数只接受一个 ThreadGroup。至少名称或 Runnable 目标与 ThreadGroup 一起进入。
java.lang.Thread 类是否有任何理由没有只接受 ThreadGroup 的构造函数?
【问题讨论】:
-
我认为创建线程后不能将线程添加到线程组。创建 Thread 时必须给出 ThreadGroup。
-
如果不是作者,就很难回答“为什么作者决定不做……”这样的问题。但无论如何,使用其他构造函数之一很容易做到这一点:
new Thread(myThreadGroup, (Runnable)null). -
过去,将 Thread 子类化为比现在更容易接受。
标签: java multithreading constructor