为什么 HandlerThread 需要一个名字?

4
为什么 Android HandlerThread 的构造函数需要一个名称?

公共构造函数


HandlerThread(String name)

HandlerThread(String name, int priority)

构造一个 HandlerThread。

即为什么没有不带参数的 new HandlerThread() 构造函数?名称在内部用于什么,我可以用它做什么?
在文档中搜索“name”只会返回这些构造函数。

1
这是为了调试目的,以便您可以在日志中区分线程活动。 - Mike M.
1个回答

5
我查看了源代码。
HandlerThread 只是用名称来调用 java.lang.Thread(String name) 构造函数。
java.lang.Thread 的文档说:
每个线程都有一个名称以进行标识。可以有多个线程具有相同的名称。如果在创建线程时未指定名称,则会为其生成新名称。

谢谢!所以如果我理解正确的话,我可以传递任何字符串值,是吗?只是出于好奇,这是否包括null - lucidbrot
1
很遗憾,线程检查name是否为空,如果是,则抛出NullPointerException - ElegyD
1
每个线程都有一个名称用于识别目的。多个线程可能具有相同的名称。 - Minh Nghĩa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接