如何在Java中自定义ThreadFactory子线程的所有名称?

如何在Java中自定义ThreadFactory子线程的所有名称?,java,multithreading,Java,Multithreading,如果我正在扩展现有的ThreadFactory实现,如何确保创建的所有线程都具有相同的前缀?我厌倦了在日志中查看Thread-9,我想更容易区分线程 有人对如何进行此操作有任何建议吗?提供您自己的ThreadFactory接口实现: pool = Executors.newScheduledThreadPool(numberOfThreads, new TF()); class TF implements ThreadFactory { public synchronized Thre

如果我正在扩展现有的ThreadFactory实现,如何确保创建的所有线程都具有相同的前缀?我厌倦了在日志中查看
Thread-9
,我想更容易区分线程


有人对如何进行此操作有任何建议吗?

提供您自己的ThreadFactory接口实现:

pool = Executors.newScheduledThreadPool(numberOfThreads, new TF());

class TF implements ThreadFactory {
    public synchronized Thread newThread(Runnable r) {
        Thread t = new Thread(r) ;
        t.setName("Something here....");  
        return t;
    }
}

提供您自己的ThreadFactory接口实现:

pool = Executors.newScheduledThreadPool(numberOfThreads, new TF());

class TF implements ThreadFactory {
    public synchronized Thread newThread(Runnable r) {
        Thread t = new Thread(r) ;
        t.setName("Something here....");  
        return t;
    }
}

你能提供你自己的吗?这将允许您使用所需的任何命名约定创建线程。

您可以提供自己的命名约定吗?这将允许您使用所需的任何命名约定创建线程。

您应该使用自己的自定义线程工厂。默认工厂没有多大用处。实现ThreadFactoryBuilder以创建自定义线程工厂,该线程工厂允许您执行以下操作:

  • 具有自定义线程名称
  • 可以选择线程-用户线程或守护进程线程
  • 可以选择线程优先级
  • 具有设置未捕获异常处理程序的灵活性
  • 在下面的文章中,您可以使用ThreadFactoryBuilder实现示例


    您应该使用自己的定制螺纹工厂。默认工厂没有多大用处。实现ThreadFactoryBuilder以创建自定义线程工厂,该线程工厂允许您执行以下操作:

  • 具有自定义线程名称
  • 可以选择线程-用户线程或守护进程线程
  • 可以选择线程优先级
  • 具有设置未捕获异常处理程序的灵活性
  • 在下面的文章中,您可以使用ThreadFactoryBuilder实现示例


    谢谢你的例子。但是,我使用的API只允许我指定ThreadPool类实现,而不允许我指定ThreadFactory实现。你说的ThreadPool类是什么意思?您必须使用哪个界面?遗嘱执行人?哇。我觉得自己很愚蠢。ThreadPool是Quartz中的一个接口。谢谢你的回答。我认为这将是有用的。我要更新这个问题。谢谢你的例子。但是,我使用的API只允许我指定ThreadPool类实现,而不允许我指定ThreadFactory实现。你说的ThreadPool类是什么意思?您必须使用哪个界面?遗嘱执行人?哇。我觉得自己很愚蠢。ThreadPool是Quartz中的一个接口。谢谢你的回答。我认为这将是有用的。我将更新问题。请参见