Package rx.schedulers

Class Schedulers

java.lang.Object
rx.schedulers.Schedulers

public final class Schedulers extends Object
Static factory methods for creating Schedulers.
  • Field Details

  • Constructor Details

    • Schedulers

      private Schedulers()
  • Method Details

    • getInstance

      private static Schedulers getInstance()
    • immediate

      public static Scheduler immediate()
      Creates and returns a Scheduler that executes work immediately on the current thread.
      Returns:
      a Scheduler that executes work immediately
    • trampoline

      public static Scheduler trampoline()
      Creates and returns a Scheduler that queues work on the current thread to be executed after the current work completes.
      Returns:
      a Scheduler that queues work on the current thread
    • newThread

      public static Scheduler newThread()
      Creates and returns a Scheduler that creates a new Thread for each unit of work.

      Unhandled errors will be delivered to the scheduler Thread's Thread.UncaughtExceptionHandler.

      Returns:
      a Scheduler that creates new threads
    • computation

      public static Scheduler computation()
      Creates and returns a Scheduler intended for computational work.

      This can be used for event-loops, processing callbacks and other computational work.

      Do not perform IO-bound work on this scheduler. Use io() instead.

      Unhandled errors will be delivered to the scheduler Thread's Thread.UncaughtExceptionHandler.

      Returns:
      a Scheduler meant for computation-bound work
    • io

      public static Scheduler io()
      Creates and returns a Scheduler intended for IO-bound work.

      The implementation is backed by an Executor thread-pool that will grow as needed.

      This can be used for asynchronously performing blocking IO.

      Do not perform computational work on this scheduler. Use computation() instead.

      Unhandled errors will be delivered to the scheduler Thread's Thread.UncaughtExceptionHandler.

      Returns:
      a Scheduler meant for IO-bound work
    • test

      public static TestScheduler test()
      Creates and returns a TestScheduler, which is useful for debugging. It allows you to test schedules of events by manually advancing the clock at whatever pace you choose.
      Returns:
      a TestScheduler meant for debugging
    • from

      public static Scheduler from(Executor executor)
      Converts an Executor into a new Scheduler instance.
      Parameters:
      executor - the executor to wrap
      Returns:
      the new Scheduler wrapping the Executor
    • reset

      @Experimental public static void reset()
      Resets the current Schedulers instance. This will re-init the cached schedulers on the next usage, which can be useful in testing.
    • start

      public static void start()
      Starts those standard Schedulers which support the SchedulerLifecycle interface.

      The operation is idempotent and threadsafe.

    • shutdown

      public static void shutdown()
      Shuts down those standard Schedulers which support the SchedulerLifecycle interface.

      The operation is idempotent and threadsafe.

    • startInstance

      void startInstance()
      Start the instance-specific schedulers.
    • shutdownInstance

      void shutdownInstance()
      Start the instance-specific schedulers.