From 4c37971a2bd45dcd45ea5f6e3cec8476d2ada2a8 Mon Sep 17 00:00:00 2001 From: Balthild Date: Fri, 24 Apr 2020 01:37:55 +0800 Subject: [PATCH] Reuse the ForkJoinPool in ItemList --- src/codechicken/nei/recipe/GuiCraftingRecipe.java | 3 ++- src/codechicken/nei/recipe/GuiRecipe.java | 10 ---------- src/codechicken/nei/recipe/GuiUsageRecipe.java | 3 ++- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/src/codechicken/nei/recipe/GuiCraftingRecipe.java b/src/codechicken/nei/recipe/GuiCraftingRecipe.java index e803032b..d5f7ac51 100644 --- a/src/codechicken/nei/recipe/GuiCraftingRecipe.java +++ b/src/codechicken/nei/recipe/GuiCraftingRecipe.java @@ -1,6 +1,7 @@ package codechicken.nei.recipe; import codechicken.core.TaskProfiler; +import codechicken.nei.ItemList; import codechicken.nei.NEIClientUtils; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiContainer; @@ -26,7 +27,7 @@ public class GuiCraftingRecipe extends GuiRecipe TaskProfiler profiler = ProfilerRecipeHandler.getProfiler(); try { profiler.start("recipe.concurrent.crafting"); - handlers = forkJoinPool.submit(() -> getCraftingHandlers(outputId, results)).get(); + handlers = ItemList.forkJoinPool.submit(() -> getCraftingHandlers(outputId, results)).get(); } catch (InterruptedException | ExecutionException e) { e.printStackTrace(); return false; diff --git a/src/codechicken/nei/recipe/GuiRecipe.java b/src/codechicken/nei/recipe/GuiRecipe.java index d2362fb7..f393f863 100644 --- a/src/codechicken/nei/recipe/GuiRecipe.java +++ b/src/codechicken/nei/recipe/GuiRecipe.java @@ -29,16 +29,6 @@ import java.util.concurrent.ForkJoinPool; public abstract class GuiRecipe extends GuiContainer implements IGuiContainerOverlay, IGuiClientSide, IGuiHandleMouseWheel, IContainerTooltipHandler { - protected static final ForkJoinPool forkJoinPool; - - static { - int poolSize = Runtime.getRuntime().availableProcessors() * 2 / 3; - if (poolSize < 1) - poolSize = 1; - - forkJoinPool = new ForkJoinPool(poolSize); - } - public ArrayList currenthandlers = new ArrayList<>(); public int page; diff --git a/src/codechicken/nei/recipe/GuiUsageRecipe.java b/src/codechicken/nei/recipe/GuiUsageRecipe.java index 21a69086..d91cddf3 100644 --- a/src/codechicken/nei/recipe/GuiUsageRecipe.java +++ b/src/codechicken/nei/recipe/GuiUsageRecipe.java @@ -1,6 +1,7 @@ package codechicken.nei.recipe; import codechicken.core.TaskProfiler; +import codechicken.nei.ItemList; import codechicken.nei.NEIClientUtils; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiContainer; @@ -26,7 +27,7 @@ public class GuiUsageRecipe extends GuiRecipe TaskProfiler profiler = ProfilerRecipeHandler.getProfiler(); try { profiler.start("recipe.concurrent.usage"); - handlers = forkJoinPool.submit(() -> getUsageHandlers(inputId, ingredients)).get(); + handlers = ItemList.forkJoinPool.submit(() -> getUsageHandlers(inputId, ingredients)).get(); } catch (InterruptedException | ExecutionException e) { e.printStackTrace(); return false;