diff --git a/java_console/io/src/com/rusefi/NamedThreadFactory.java b/java_console/io/src/com/rusefi/NamedThreadFactory.java new file mode 100644 index 0000000000..3d1dd4e7c4 --- /dev/null +++ b/java_console/io/src/com/rusefi/NamedThreadFactory.java @@ -0,0 +1,23 @@ +package com.rusefi; + +import org.jetbrains.annotations.NotNull; + +import java.util.concurrent.Executors; +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.atomic.AtomicInteger; + +public class NamedThreadFactory implements ThreadFactory { + private final AtomicInteger counter = new AtomicInteger(); + private String name; + + public NamedThreadFactory(String name) { + this.name = name; + } + + @Override + public Thread newThread(@NotNull Runnable r) { + Thread t = Executors.defaultThreadFactory().newThread(r); + t.setName(name + counter.incrementAndGet()); + return t; + } +} diff --git a/java_console/io/src/com/rusefi/io/LinkManager.java b/java_console/io/src/com/rusefi/io/LinkManager.java index b7ba4f3ca0..a34d3f45c4 100644 --- a/java_console/io/src/com/rusefi/io/LinkManager.java +++ b/java_console/io/src/com/rusefi/io/LinkManager.java @@ -1,6 +1,7 @@ package com.rusefi.io; import com.rusefi.FileLog; +import com.rusefi.NamedThreadFactory; import com.rusefi.core.EngineState; import com.rusefi.io.serial.SerialConnector; import com.rusefi.io.tcp.TcpConnector; @@ -82,15 +83,7 @@ public class LinkManager { public static final ExecutorService COMMUNICATION_EXECUTOR = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, COMMUNICATION_QUEUE, - new ThreadFactory() { - @Override - public Thread newThread(Runnable r) { - Thread t = Executors.defaultThreadFactory().newThread(r); - t.setName("communication executor"); - ; - return t; - } - }); + new NamedThreadFactory("communication executor")); private static Thread COMMUNICATION_THREAD; static {