Add async executor

This commit is contained in:
Sotr
2019-03-22 04:18:08 +08:00
parent 9c196c9a0b
commit 73003da5c8
2 changed files with 43 additions and 1 deletions

View File

@@ -0,0 +1,42 @@
package io.akarin.server.core;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import net.minecraft.server.MinecraftServer;
public class AkarinAsyncExecutor extends Thread {
private final static Logger LOGGER = LogManager.getLogger("Akarin");
public static AkarinAsyncExecutor initalise() {
return Singleton.instance;
}
private static class Singleton {
private static final AkarinAsyncExecutor instance;
static {
instance = new AkarinAsyncExecutor();
instance.setName("Akarin Slack Scheduler Thread");
instance.setDaemon(true);
instance.start();
LOGGER.info("Async executor started");
}
}
@Override
public void run() {
MinecraftServer server = MinecraftServer.getServer();
while (server.isRunning()) {
try {
Thread.sleep(100);
} catch (InterruptedException interrupted) {
continue;
}
}
}
}

View File

@@ -1871,7 +1871,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
}
// CraftBukkit start
@Deprecated
//@Deprecated // Akarin - remove deprecated
public static MinecraftServer getServer() {
return SERVER;
}