From a637db260aeb893fc178fb6bc19437aa211ccb32 Mon Sep 17 00:00:00 2001 From: godotg Date: Thu, 28 Jul 2022 18:05:34 +0800 Subject: [PATCH] =?UTF-8?q?perf[net]:=20=E5=87=8F=E5=B0=91=E4=B8=8D?= =?UTF-8?q?=E5=BF=85=E8=A6=81=E7=9A=84=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/zfoo/event/manager/EventBus.java | 13 +++---------- net/src/main/java/com/zfoo/net/task/TaskBus.java | 9 +++------ .../com/zfoo/scheduler/manager/SchedulerBus.java | 3 +++ 3 files changed, 9 insertions(+), 16 deletions(-) diff --git a/event/src/main/java/com/zfoo/event/manager/EventBus.java b/event/src/main/java/com/zfoo/event/manager/EventBus.java index 7eb41cfc..6593921c 100644 --- a/event/src/main/java/com/zfoo/event/manager/EventBus.java +++ b/event/src/main/java/com/zfoo/event/manager/EventBus.java @@ -52,17 +52,13 @@ public abstract class EventBus { static { for (int i = 0; i < executors.length; i++) { - var namedThreadFactory = new EventThreadFactory(i + 1); + var namedThreadFactory = new EventThreadFactory(i); var executor = Executors.newSingleThreadExecutor(namedThreadFactory); - namedThreadFactory.executor = executor; executors[i] = executor; } } public static class EventThreadFactory implements ThreadFactory { - - public ExecutorService executor; - private int poolNumber; private AtomicInteger threadNumber = new AtomicInteger(1); private ThreadGroup group; @@ -75,11 +71,12 @@ public abstract class EventBus { @Override public Thread newThread(Runnable runnable) { - var threadName = StringUtils.format("event-p{}-t{}", poolNumber, threadNumber.getAndIncrement()); + var threadName = StringUtils.format("event-p{}-t{}", poolNumber + 1, threadNumber.getAndIncrement()); var thread = new FastThreadLocalThread(group, runnable, threadName, 0); thread.setDaemon(false); thread.setPriority(Thread.NORM_PRIORITY); thread.setUncaughtExceptionHandler((t, e) -> logger.error(t.toString(), e)); + var executor = executors[poolNumber]; AssertionUtils.notNull(executor); threadMap.put(thread.getId(), executor); return thread; @@ -148,10 +145,6 @@ public abstract class EventBus { /** * 注册事件及其对应观察者 - * - * - * @param eventType - * @param receiver */ public static void registerEventReceiver(Class eventType, IEventReceiver receiver) { receiverMap.computeIfAbsent(eventType, it -> new LinkedList<>()).add(receiver); diff --git a/net/src/main/java/com/zfoo/net/task/TaskBus.java b/net/src/main/java/com/zfoo/net/task/TaskBus.java index 88a7757f..4f08a40d 100644 --- a/net/src/main/java/com/zfoo/net/task/TaskBus.java +++ b/net/src/main/java/com/zfoo/net/task/TaskBus.java @@ -66,17 +66,13 @@ public final class TaskBus { executors = new ExecutorService[EXECUTOR_SIZE]; for (int i = 0; i < executors.length; i++) { - var namedThreadFactory = new TaskThreadFactory(i + 1); + var namedThreadFactory = new TaskThreadFactory(i); var executor = Executors.newSingleThreadExecutor(namedThreadFactory); - namedThreadFactory.executor = executor; executors[i] = executor; } } public static class TaskThreadFactory implements ThreadFactory { - - public ExecutorService executor; - private int poolNumber; private AtomicInteger threadNumber = new AtomicInteger(1); private ThreadGroup group; @@ -89,11 +85,12 @@ public final class TaskBus { @Override public Thread newThread(Runnable runnable) { - var threadName = StringUtils.format("task-p{}-t{}", poolNumber, threadNumber.getAndIncrement()); + var threadName = StringUtils.format("task-p{}-t{}", poolNumber + 1, threadNumber.getAndIncrement()); var thread = new FastThreadLocalThread(group, runnable, threadName, 0); thread.setDaemon(false); thread.setPriority(Thread.NORM_PRIORITY); thread.setUncaughtExceptionHandler((t, e) -> logger.error(t.toString(), e)); + var executor = executors[poolNumber]; AssertionUtils.notNull(executor); threadMap.put(thread.getId(), executor); return thread; diff --git a/scheduler/src/main/java/com/zfoo/scheduler/manager/SchedulerBus.java b/scheduler/src/main/java/com/zfoo/scheduler/manager/SchedulerBus.java index f3b0902b..fb4e3115 100644 --- a/scheduler/src/main/java/com/zfoo/scheduler/manager/SchedulerBus.java +++ b/scheduler/src/main/java/com/zfoo/scheduler/manager/SchedulerBus.java @@ -43,6 +43,9 @@ public abstract class SchedulerBus { */ private static final ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor(new SchedulerThreadFactory(1)); + /** + * executor创建的线程id号 + */ private static long threadId = 0; /**