一尘不染

如何用Java命名线程池中的线程

java

我有一个使用该Executor框架的Java应用程序,并且我的代码看起来像这样 protected ScheduledExecutorService scheduledExecutorService = new ScheduledThreadPoolExecutor(5)

我的理解是,JVM会在内部创建5个线程的池。现在,当我在探查器中检查执行情况时,会得到类似的thread-pool2,thread-pool3信息。

Some of these thread pools are created by the server and some are created by me我需要一种方法来区分由我创建的和由服务器创建的

我在想,如果我可以命名线程池,它应该可以解决问题,但是看不到任何允许我执行此操作的API。

提前致谢。


阅读 423

收藏
2020-12-03

共1个答案

一尘不染

您可以将自己的ThreadFactory传递给ScheduledThreadPoolExecutor。您的ThreadFactory将创建线程,并可以为其指定任何名称。您的ThreadFactory也可以重用Executors.defaultThreadFactory(),并且仅在返回线程之前更改名称。

2020-12-03