java - 如何在Java中命名线程池的线程

标签 java multithreading threadpool executorservice

我有一个使用 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 可以让我做同样的事情。

提前致谢。

最佳答案

您可以通过自己的ThreadFactoryScheduledThreadPoolExecutor .您的 ThreadFactory 将创建线程并可以给它任何您想要的名称。你的 ThreadFactory 也可以重用 Executors.defaultThreadFactory() ,并且只在返回线程之前更改名称。

关于java - 如何在Java中命名线程池的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5740478/

相关文章:

java - 类作为变量

java - 生成所有可能的 8 位二进制字符串

java - 在 MQ v6 api 中 - 如何停止 MQQueue get() 方法?

Java 线程池 : is it better to have lots of smaller tasks, 或更少的大批量任务

c++ - 如何终止线程池中的所有预分配线程?

java - 何时在 Swing 应用程序中显示无效输入的错误消息

java - 无法解析类型 javax.swing.JComponent

multithreading - Ruby 1.9.3 多核?

C++ 单生产者多消费者程序偶尔崩溃

java - 按顺序执行任务但从池中获取线程的 ExecutorService