picard.vcf.processor

## Class VariantAccumulatorExecutor.MultiThreadedChunkBased<A extends VariantProcessor.Accumulator<R>,R>

- java.lang.Object
- - picard.vcf.processor.VariantAccumulatorExecutor.MultiThreadedChunkBased<A,R>

- All Implemented Interfaces:
    VariantAccumulatorExecutor<A,R>
  Enclosing interface:
    VariantAccumulatorExecutor<ACCUMULATOR extends VariantProcessor.Accumulator<RESULT>,RESULT>

      public static class VariantAccumulatorExecutor.MultiThreadedChunkBased<A extends VariantProcessor.Accumulator<R>,R>
      extends Object
      implements VariantAccumulatorExecutor<A,R>

  A `VariantAccumulatorExecutor` that breaks down work into chunks described by the provided `VariantIteratorProducer` and spreads them over the indicated number of threads.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface picard.vcf.processor.VariantAccumulatorExecutor

      `VariantAccumulatorExecutor.MultiThreadedChunkBased<A extends VariantProcessor.Accumulator<R>,R>`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MultiThreadedChunkBased(int numThreads, VariantIteratorProducer vcIteratorProducer, VariantProcessor.AccumulatorGenerator<A,R> accumulatorGenerator)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Collection<A>` | `accumulators()` Returns the `VariantProcessor.Accumulator`s associated with this executor.
    `void` | `awaitCompletion()` Blocks until the work is complete.
    `void` | `start()` Starts the work of the executor, returning immediately.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### MultiThreadedChunkBased

          public MultiThreadedChunkBased(int numThreads,
                                         VariantIteratorProducer vcIteratorProducer,
                                         VariantProcessor.AccumulatorGenerator<A,R> accumulatorGenerator)

  - ### Method Detail

    - #### start

          public void start()

      Description copied from interface: `VariantAccumulatorExecutor`
      Starts the work of the executor, returning immediately.
      Specified by:
        `start` in interface `VariantAccumulatorExecutor<A extends VariantProcessor.Accumulator<R>,R>`

    - #### accumulators

          public Collection<A> accumulators()

      Description copied from interface: `VariantAccumulatorExecutor`
      Returns the `VariantProcessor.Accumulator`s associated with this executor.
      Specified by:
        `accumulators` in interface `VariantAccumulatorExecutor<A extends VariantProcessor.Accumulator<R>,R>`

    - #### awaitCompletion

          public void awaitCompletion()
                               throws InterruptedException

      Description copied from interface: `VariantAccumulatorExecutor`
      Blocks until the work is complete.
      Specified by:
        `awaitCompletion` in interface `VariantAccumulatorExecutor<A extends VariantProcessor.Accumulator<R>,R>`
      Throws:
        `InterruptedException`