Package picard.vcf.processor

## Interface VariantAccumulatorExecutor<ACCUMULATOR extends VariantProcessor.Accumulator<RESULT>,​RESULT>

- All Known Implementing Classes:
    `VariantAccumulatorExecutor.MultiThreadedChunkBased`

      public interface VariantAccumulatorExecutor<ACCUMULATOR extends VariantProcessor.Accumulator<RESULT>,​RESULT>

  Describes the functionality for an executor that manages the delegation of work to `VariantProcessor.Accumulator`s.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static class` | `VariantAccumulatorExecutor.MultiThreadedChunkBased<A extends VariantProcessor.Accumulator<R>,​R>` | A `VariantAccumulatorExecutor` that breaks down work into chunks described by the provided `VariantIteratorProducer` and spreads them over the indicated number of threads.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Collection<ACCUMULATOR>` | `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.

- - ### Method Detail

    - #### start

          void start()

      Starts the work of the executor, returning immediately.

    - #### awaitCompletion

          void awaitCompletion()
                        throws InterruptedException

      Blocks until the work is complete.
      Throws:
        `InterruptedException`

    - #### accumulators

          Collection<ACCUMULATOR> accumulators()

      Returns the `VariantProcessor.Accumulator`s associated with this executor.