Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change the name of threads in an ExecutorService? [duplicate]

I'm using an ExecutorService to execute some Callables, but the name of the threads are like fixed-pool-1-thread-1.

How I change the name of the threads? If it's not possible, there another way to execute Callables that I can set the name of threadS?

like image 973
Renato Dinhani Avatar asked May 25 '11 14:05

Renato Dinhani


1 Answers

You'll have to use an ExecutorService implementation that allows you to set the ThreadFactory1 used to create threads, for example, ThreadPoolExecutor. Pass an instance that creates threads with the proper names.

There's also a handy class in commons-lang that allows to specify thread names with a pattern: BasicThreadFactory. This keeps you from having to create a ThreadFactory subclass just to provide the naming behavior.

like image 100
Edward Dale Avatar answered Oct 06 '22 00:10

Edward Dale