perf[net]: 减少不必要的字段

This commit is contained in:
godotg
2022-07-28 18:05:34 +08:00
parent fb219cd1ca
commit a637db260a
3 changed files with 9 additions and 16 deletions
@@ -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<? extends IEvent> eventType, IEventReceiver receiver) {
receiverMap.computeIfAbsent(eventType, it -> new LinkedList<>()).add(receiver);
@@ -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;
@@ -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;
/**