Add thread safe relative features

This commit is contained in:
Sotr
2018-06-11 15:56:24 +08:00
parent 7bdc57cb70
commit f89f26e2db
9 changed files with 65 additions and 5 deletions

View File

@@ -8,12 +8,14 @@ import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.bukkit.entity.Minecart;
import com.google.common.collect.Queues;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import co.aikar.timings.Timing;
import co.aikar.timings.Timings;
import net.minecraft.server.MinecraftServer;
public abstract class Akari {
/**
@@ -41,6 +43,12 @@ public abstract class Akari {
*/
public static final ExecutorCompletionService<?> STAGE_TICK = new ExecutorCompletionService<>(Executors.newSingleThreadExecutor(Akari.STAGE_FACTORY));
public static volatile boolean mayMock;
public static boolean isPrimaryThread() {
return Thread.currentThread().equals(MinecraftServer.getServer().primaryThread);
}
/*
* The unsafe
*/