Swap to ThreadStatic

This commit is contained in:
Asriel Camora
2023-06-18 12:22:58 -07:00
parent bae48844b5
commit 000965dc07
2 changed files with 4 additions and 5 deletions
+1 -1
View File
@@ -52,7 +52,7 @@ public static class ActionUtils
}
public static void SetSimulation(Simulator simulation) =>
BaseAction.TLSSimulation.Value = simulation;
BaseAction.TLSSimulation = simulation;
public static BaseAction WithUnsafe(this ActionType me) => Actions[(int)me];
+3 -4
View File
@@ -1,13 +1,12 @@
using System;
using System.Text;
using System.Threading;
namespace Craftimizer.Simulator.Actions;
public abstract class BaseAction
{
internal static readonly ThreadLocal<Simulator?> TLSSimulation = new(false);
protected static Simulator Simulation => TLSSimulation.Value ?? throw new NullReferenceException();
[ThreadStatic]
internal static Simulator? TLSSimulation;
protected static Simulator Simulation => TLSSimulation ?? throw new NullReferenceException();
public BaseAction() { }