'"Run a target function periodically on a background thread.
If the target\'s return value is false, the executor stops.
:Parameters:
- `interval`: Seconds between calls to `target`.
- `min_interval`: Minimum seconds between calls if `wake` is
called very often.
- `target`: A function.
- `name`: A name to give the underlying thread.'

def __init__(self, interval, min_interval, target, name=None):

    self._event = False
    self._interval = interval
    self._min_interval = min_interval
    self._target = target
    self._stopped = False
    self._thread = None
    self._name = name
    self._thread_will_exit = False
    self._lock = threading.Lock()
