Как настроить все имена дочерних потоков ThreadFactory в Java? - PullRequest
0 голосов
/ 28 апреля 2009

Если я расширяю существующую реализацию ThreadFactory, как я могу обеспечить, чтобы все созданные потоки имели одинаковый префикс? Мне надоело смотреть Thread-9 в моих журналах, и я хотел бы легче различать темы.

У кого-нибудь есть предложения, как это сделать?

Ответы [ 3 ]

5 голосов
/ 28 апреля 2009

Предоставьте собственную реализацию интерфейса 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;
    }
}
1 голос
/ 12 сентября 2014

Вы должны использовать свою собственную фабрику нитей. Фабрики по умолчанию не очень полезны. Реализуйте ThreadFactoryBuilder, чтобы создать свои собственные фабрики потоков, которые позволяют вам делать следующее:

  1. Имена пользовательских потоков
  2. Выбор темы - Пользователь или Демон
  3. Есть выбор приоритета темы
  4. Имеет гибкость в настройке необработанных обработчиков исключений

В следующем посте вы можете воспользоваться примером реализации ThreadFactoryBuilder, который вы можете использовать.

http://wilddiary.com/understanding-java-threadfactory-creating-custom-thread-factories/

0 голосов
/ 28 апреля 2009

Можете ли вы предоставить свой ThreadFactory ? Это позволит вам создавать потоки с любым соглашением об именах, которое вам требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...