首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Java中动态更改处理线程的名称是个好主意吗?

在Java中动态更改处理线程的名称是个好主意吗?
EN

Stack Overflow用户
提问于 2011-06-06 03:22:10
回答 2查看 612关注 0票数 11

我们有一个处理请求的Java应用程序。自然,有一个线程池,其中的线程使用一些无关紧要的名称命名,如"processor-1“、"processor-2”等。我们想知道,每次处理线程收到请求时,将其重命名为指示正在处理的请求的名称是否是一个好主意。

我有种不对劲的感觉,但我想不出一个好的理由。我记得从线程转储分析多线程问题的几个案例,知道在两个连续的转储中是否看到相同的线程对我来说非常重要。但是,我意识到我可以改为查看线程ID。在log4j日志中,写入线程名称是一种常见的做法,我还记得很多使用线程名称进行过滤的情况。但我仍然不确定我是否有一条很好的“防线”。

常见的做法是什么?保持对线程的重命名是个好主意吗?

有像Renaming Threads in JavaShould threads in Java be named for easier debugging?这样的相关问题,但它们没有解决这个特定的问题。

EN

回答 2

Stack Overflow用户

发布于 2011-06-06 09:47:49

这是个好主意。

线程名称的唯一目的是为了诊断,因此鼓励您以最好的方式命名/重命名线程,以帮助您了解运行时发生的事情。

尤其是对于线程池中的线程。他们的身份毫无意义。它在功能上等同于每个任务都有一个新线程。我们只关心任务名称,线程名称是存储任务名称的方便位置。

票数 5
EN

Stack Overflow用户

发布于 2011-06-06 03:29:27

我会给每个线程一个有意义的,但不是动态变化的名称。

存储关于正在处理的请求的信息听起来很好,但将其存储在线程名称中则很难闻。您可以记录该信息,或者将其存储在ThreadLocal中,或者...?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6245270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档