Interface ExecutionStrategy

All Known Implementing Classes:
AdaptiveExecutionStrategy, EatWhatYouKill, ExecuteProduceConsume, ProduceConsume, ProduceExecuteConsume

public interface ExecutionStrategy

An ExecutionStrategy executes Runnable tasks produced by a ExecutionStrategy.Producer. The strategy to execute the task may vary depending on the implementation; the task may be run in the calling thread, or in a new thread, etc.

The strategy delegates the production of tasks to a ExecutionStrategy.Producer, and continues to execute tasks until the producer continues to produce them.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static interface 
    A producer of Runnable tasks to run.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Initiates (or resumes) the task production and consumption.
    void
    Initiates (or resumes) the task production and consumption.
  • Method Details

    • dispatch

      void dispatch()

      Initiates (or resumes) the task production and consumption.

      This method guarantees that the task is never run by the thread that called this method.

      TODO review the need for this (only used by HTTP2 push)
      See Also:
    • produce

      void produce()

      Initiates (or resumes) the task production and consumption.

      The produced task may be run by the same thread that called this method.

      See Also: