Skip to content

Commit

Permalink
Simplify scheduling thread
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexProgrammerDE committed Apr 12, 2024
1 parent 8203182 commit 68b843f
Showing 1 changed file with 4 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@
import com.soulfiremc.server.util.RandomUtil;
import it.unimi.dsi.fastutil.PriorityQueue;
import it.unimi.dsi.fastutil.objects.ObjectHeapPriorityQueue;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
Expand All @@ -30,7 +28,8 @@

@RequiredArgsConstructor
public class SoulFireScheduler {
private final ExecutorService managementExecutor = Executors.newVirtualThreadPerTaskExecutor();
private static final Thread.Builder.OfVirtual managementThreadBuilder = Thread.ofVirtual()
.name("SoulFireScheduler-Management-", 0);
private final PriorityQueue<TimedRunnable> executionQueue = new ObjectHeapPriorityQueue<>();
private final ForkJoinPool mainThreadExecutor;
private final Logger logger;
Expand All @@ -48,7 +47,7 @@ public SoulFireScheduler(Logger logger, Function<Runnable, Runnable> runnableWra
this.logger = logger;
this.runnableWrapper = runnableWrapper;

this.managementExecutor.execute(this::managementTask);
managementThreadBuilder.start(this::managementTask);
}

@SuppressWarnings("BusyWait")
Expand All @@ -65,7 +64,7 @@ public void managementTask() {
Thread.sleep(1);
}
} catch (InterruptedException e) {
logger.error("Error in executor", e);
logger.info("Management thread interrupted");
}
}

Expand Down Expand Up @@ -122,7 +121,6 @@ public void scheduleWithRandomDelay(Runnable command, long minDelay, long maxDel

public void shutdown() {
shutdown = true;
managementExecutor.shutdown();
mainThreadExecutor.shutdown();
}

Expand Down

0 comments on commit 68b843f

Please sign in to comment.