def METHOD_NAME(self, runnable):
    """
    Enqueues a runnable in the runqueue. It accepts
    a runnable, or a tuple containing (timestamp, runnable).
    If given in the last form, the runnable will be run as
    quickly as possible after time timestamp has occured.
    """
    self.lock.acquire()
    # Checkers with priority is put in a seperate queue
    if isinstance(runnable, tuple):
        pri, obj = runnable
        self.timerqueue.put(pri, obj)
    else:
        self.queue.append(runnable)
    self._start_worker_if_needed()
    self.lock.release()