ExecutorService のスレッドとスレッドプールの命名 質問する

ExecutorService のスレッドとスレッドプールの命名 質問する

Executorフレームワークをこのように利用するアプリケーションがあるとします

Executors.newSingleThreadExecutor().submit(new Runnable(){
    @Override
    public void run(){
        // do stuff
    }
}

このアプリケーションをデバッガーで実行すると、次の (デフォルトの) 名前のスレッドが作成されます: Thread[pool-1-thread-1]。 ご覧のとおり、これはあまり役に立ちません。また、私の知る限り、フレームExecutorワークでは、作成されたスレッドまたはスレッド プールに名前を付ける簡単な方法が提供されていません。

では、スレッド/スレッドプールに名前を付けるにはどうすればよいでしょうか? たとえば、Thread[FooPool-FooThread].

ベストアンサー1

グアバには、あなたが必要

ThreadFactory namedThreadFactory = 
  new ThreadFactoryBuilder().setNameFormat("my-sad-thread-%d").build()

そしてそれをあなたの に渡しますExecutorService

おすすめ記事