perf: 优化代码

This commit is contained in:
2022-11-02 09:22:20 +08:00
parent 484abd375d
commit baa402c316
3 changed files with 32 additions and 41 deletions

View File

@@ -74,8 +74,6 @@ public class HamsterCorePlugin extends JavaPlugin {
Logger logger = getLogger();
long start = System.currentTimeMillis();
logger.info("仓鼠核心正在关闭...");
CoreConstantObjects.WORKER_EXECUTOR.shutdownNow();
logger.info("已暂停 WORKER_EXECUTOR.");
CoreConstantObjects.SCHEDULED_EXECUTOR.shutdownNow();
logger.info("已暂停 SCHEDULED_EXECUTOR.");
long time = System.currentTimeMillis() - start;

View File

@@ -43,8 +43,6 @@ public class HamsterCorePlugin extends Plugin {
Logger logger = getLogger();
long start = System.currentTimeMillis();
logger.info("仓鼠核心正在关闭...");
CoreConstantObjects.WORKER_EXECUTOR.shutdownNow();
logger.info("已暂停 WORKER_EXECUTOR.");
CoreConstantObjects.SCHEDULED_EXECUTOR.shutdownNow();
logger.info("已暂停 SCHEDULED_EXECUTOR.");
long time = System.currentTimeMillis() - start;

View File

@@ -6,7 +6,9 @@ import org.jetbrains.annotations.NotNull;
import java.lang.reflect.Type;
import java.util.UUID;
import java.util.concurrent.*;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ThreadFactory;
@SuppressWarnings("unused")
public interface CoreConstantObjects {
@@ -30,25 +32,19 @@ public interface CoreConstantObjects {
.serializeNulls()
.setPrettyPrinting()
.create();
/**
* JSON 解析器
*/
JsonParser JSON_PARSER = new JsonParser();
/**
* 异步线程
*/
ExecutorService WORKER_EXECUTOR = new ThreadPoolExecutor(1, Integer.MAX_VALUE, 60, TimeUnit.MINUTES, new SynchronousQueue<>(), new APIThreadFactory("HamsterCore - Executor"));
/**
* 调度器线程
*/
ScheduledExecutorService SCHEDULED_EXECUTOR = Executors.newScheduledThreadPool(1, new APIThreadFactory("HamsterCore - Scheduler"));
ScheduledExecutorService SCHEDULED_EXECUTOR = Executors.newScheduledThreadPool(1, new NamedThreadFactory("HamsterCore - Scheduler"));
class APIThreadFactory implements ThreadFactory {
}
class NamedThreadFactory implements ThreadFactory {
private final String name;
private int threadID;
public APIThreadFactory(String name) {
public NamedThreadFactory(String name) {
this.name = name;
threadID = 0;
}
@@ -76,4 +72,3 @@ public interface CoreConstantObjects {
return src.saveToJson();
}
}
}