Class Throttler


public class Throttler extends Object
A utility class that throttles the execution of a runnable in the UI thread.
  • Constructor Details

    • Throttler

      public Throttler(Display display, Duration minWaitTime, Runnable runnable)
      Initializes a new throttler object that will throttle the execution of the given runnable in the UI thread of the given display. The throttler will ensure that the runnable will not run more than every minWaitTime, even if it is executed more often.
      display - The display owning the thread onto which the runnable will be executed.
      minWaitTime - The minimum duration between each execution of the given runnable (from runnable to return until next run).
      runnable - The runnable to throttle.
  • Method Details

    • throttledExec

      public void throttledExec()
      Schedules the wrapped Runnable to be run after the configured wait time or do nothing if it has already been scheduled but not executed yet. Can be called from any Thread. If called from Display Thread it may run the Runnable before returning.
    • throttledAsyncExec

      public void throttledAsyncExec()
      Like throttledExec() but if called from Display Thread guaranteed to return before Runnable is run