我有一个使用 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 可以让我做同样的事情。
提前致谢。
最佳答案
您可以通过自己的ThreadFactory至ScheduledThreadPoolExecutor .您的 ThreadFactory 将创建线程并可以给它任何您想要的名称。你的 ThreadFactory 也可以重用 Executors.defaultThreadFactory() ,并且只在返回线程之前更改名称。
关于java - 如何在Java中命名线程池的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5740478/