/// <summary> /// Dispose method which deactivates the ambient context. /// </summary> public void Dispose() { Interlocked.Decrement(ref numExtant); storeContext.Dispose(); storeContext = default; MCTSManager.ThreadSearchContext = priorContext; }
/// <summary> /// Constructor. /// </summary> /// <param name="context"></param> public SearchContextExecutionBlock(MCTSIterator context) { Interlocked.Increment(ref numExtant); priorContext = MCTSManager.ThreadSearchContext; Context = context; storeContext = new MCTSNodeStoreContext(context.Tree.Store); MCTSManager.ThreadSearchContext = context; }