From 3c1e0eea96e235d5d425e012182cee45ee7eff40 Mon Sep 17 00:00:00 2001 From: 0xb00bface <0xboobface@gmail.com> Date: Sun, 10 Jan 2021 20:13:15 +0100 Subject: [PATCH] Add a global ThreadPool --- .../main/java/ctbrec/GlobalThreadPool.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 client/src/main/java/ctbrec/GlobalThreadPool.java diff --git a/client/src/main/java/ctbrec/GlobalThreadPool.java b/client/src/main/java/ctbrec/GlobalThreadPool.java new file mode 100644 index 00000000..aaeccf92 --- /dev/null +++ b/client/src/main/java/ctbrec/GlobalThreadPool.java @@ -0,0 +1,32 @@ +package ctbrec; + +import java.util.UUID; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; + +public class GlobalThreadPool { + + private static ExecutorService threadPool = Executors.newCachedThreadPool(r -> { + Thread t = new Thread(r); + t.setDaemon(true); + t.setName("GlobalWorker-" + UUID.randomUUID().toString().substring(0, 8)); + return t; + }); + + private GlobalThreadPool() { + } + + public static Future submit(Runnable runnable) { // NOSONAR + return threadPool.submit(runnable); + } + + public static Future submit(Callable callable) { + return threadPool.submit(callable); + } + + public static ExecutorService get() { + return threadPool; + } +}