Example #1
0
 /// <summary>
 /// Dispose method which deactivates the ambient context.
 /// </summary>
 public void Dispose()
 {
     Interlocked.Decrement(ref numExtant);
     storeContext.Dispose();
     storeContext = default;
     MCTSManager.ThreadSearchContext = priorContext;
 }
Example #2
0
        /// <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;
        }