Changeset 15017 for branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Interpreter/InterpreterPoolContainer.cs
- Timestamp:
- 06/01/17 09:28:34 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Interpreter/InterpreterPoolContainer.cs
r14952 r15017 8 8 public class InterpreterPoolContainer { 9 9 private readonly ManagedPoolProvider<PushProgram> pushProgramPoolProvider; 10 private readonly ManagedPoolProvider<LoopState> loopStatePoolProvider;11 10 private readonly ManagedPoolProvider<PooledList<Expression>> expressionListPoolProvider; 12 11 … … 19 18 public InterpreterPoolContainer(int partitionSize = 512, int maxPartitionCount = 1024) { 20 19 pushProgramPoolProvider = new ManagedPoolProvider<PushProgram>(partitionSize, () => new PushProgram(), maxPartitionCount); 21 loopStatePoolProvider = new ManagedPoolProvider<LoopState>(partitionSize, () => new LoopState(), maxPartitionCount);22 20 expressionListPoolProvider = new ManagedPoolProvider<PooledList<Expression>>(partitionSize, () => new PooledList<Expression>(), maxPartitionCount); 23 21 … … 27 25 public InterpreterPoolContainer( 28 26 ManagedPoolProvider<PushProgram> pushProgramPoolProvider, 29 ManagedPoolProvider<LoopState> loopStatePoolProvider,30 27 ManagedPoolProvider<PooledList<Expression>> expressionListPoolProvider) { 31 28 this.pushProgramPoolProvider = pushProgramPoolProvider; 32 this.loopStatePoolProvider = loopStatePoolProvider;33 29 this.expressionListPoolProvider = expressionListPoolProvider; 34 30 … … 43 39 if (pushProgramPool == null) pushProgramPool = pushProgramPoolProvider.CreatePool(); 44 40 return pushProgramPool; 45 }46 }47 48 private IManagedPool<LoopState> loopStatePool;49 public IManagedPool<LoopState> LoopStatePool50 {51 get52 {53 if (loopStatePool == null) loopStatePool = loopStatePoolProvider.CreatePool();54 return loopStatePool;55 41 } 56 42 } … … 96 82 } 97 83 98 if (loopStatePool != null) {99 loopStatePool.Dispose();100 loopStatePool = null;101 }102 103 84 if (expressionListPool != null) { 104 85 expressionListPool.Dispose();
Note: See TracChangeset
for help on using the changeset viewer.