Class AbstractStaticBatchProcessor<Q,​P extends BatchProcessor<Q>>

  • Type Parameters:
    Q - query type
    P - (sub-) processor type
    All Implemented Interfaces:
    BatchProcessor<Q>, ThreadPool
    Direct Known Subclasses:
    StaticParallelOmegaOracle, StaticParallelOracle

    public abstract class AbstractStaticBatchProcessor<Q,​P extends BatchProcessor<Q>>
    extends Object
    implements ThreadPool, BatchProcessor<Q>
    A batch processor that statically distributes a set of queries among several threads.

    An incoming set of queries is divided into a given number of batches, such that the sizes of all batches differ by at most one. This keeps the required synchronization effort low, but if some batches are "harder" (for whatever reason) than others, the load can be very unbalanced.

    • Field Detail

      • MIN_BATCH_SIZE

        public static final int MIN_BATCH_SIZE
      • NUM_INSTANCES

        public static final int NUM_INSTANCES
    • Constructor Detail

      • AbstractStaticBatchProcessor

        public AbstractStaticBatchProcessor​(Collection<? extends P> oracles,
                                            @org.checkerframework.checker.index.qual.NonNegative int minBatchSize,
                                            ThreadPool.PoolPolicy policy)