internal InternalPartitionEnumerable(IEnumerator <TSource> sharedReader, bool useSingleChunking, bool isStaticPartitioning)
 {
     this.m_sharedReader      = sharedReader;
     this.m_sharedIndex       = new Partitioner.SharedLong(-1L);
     this.m_hasNoElementsLeft = new Partitioner.SharedBool(false);
     this.m_sourceDepleted    = new Partitioner.SharedBool(false);
     this.m_sharedLock        = new object();
     this.m_useSingleChunking = useSingleChunking;
     if (!this.m_useSingleChunking)
     {
         this.m_FillBuffer = new KeyValuePair <long, TSource> [(PlatformHelper.ProcessorCount > 4 ? 4: 1) * Partitioner.GetDefaultChunkSize <TSource>()];
     }
     if (isStaticPartitioning)
     {
         this.m_activePartitionCount = new Partitioner.SharedInt(0);
     }
     else
     {
         this.m_activePartitionCount = (Partitioner.SharedInt)null;
     }
 }
 public static OrderablePartitioner <TSource> Create <TSource>(IEnumerable <TSource> source)
 {
     return(Partitioner.Create <TSource>(source, EnumerablePartitionerOptions.None));
 }
Beispiel #3
0
 static DynamicPartitionEnumerator_Abstract()
 {
     Partitioner.DynamicPartitionEnumerator_Abstract <TSource, TSourceReader> .s_defaultMaxChunkSize = Partitioner.GetDefaultChunkSize <TSource>();
 }