Interface BlockingRunnable

  • All Superinterfaces:
    Runnable
    All Known Implementing Classes:
    BaseBlockingRunnable, DefaultTopologyRunnable

    public interface BlockingRunnable
    extends Runnable
    A special Runnable (for the particular case of Total Order) that is only sent to a thread when it is ready to be executed without blocking the thread

    Use case: - in Total Order, when the prepare is delivered, the runnable blocks waiting for the previous conflicting transactions to be finished. In a normal executor service, this will take a thread and that thread will be blocked. This way, the runnable waits on the queue and not in the Thread

    Used in org.infinispan.util.concurrent.BlockingTaskAwareExecutorService

    Since:
    5.3
    Author:
    Pedro Ruivo
    • Method Detail

      • isReady

        boolean isReady()
        Returns:
        true if this Runnable is ready to be executed without blocking