| |
- __init__(self, timefunc, delayfunc)
- #
- # Initialize a new instance, passing the time and delay functions
#
- cancel(self, event)
- #
- # Remove an event from the queue.
- # This must be presented the ID as returned by enter().
- # If the event is not in the queue, this raises RuntimeError.
#
- empty(self)
- #
- # Check whether the queue is empty.
#
- enter(self, delay, priority, action, argument)
- #
- # A variant that specifies the time as a relative time.
- # This is actually the more commonly used interface.
#
- enterabs(self, time, priority, action, argument)
- #
- # Enter a new event in the queue at an absolute time.
- # Returns an ID for the event which can be used
- # to remove it, if necessary.
#
- run(self)
- #
- # Run: execute events until the queue is empty.
- #
- # When there is a positive delay until the first event, the
- # delay function is called and the event is left in the queue;
- # otherwise, the event is removed from the queue and executed
- # (its action function is called, passing it the argument).
- # If the delay function returns prematurely, it is simply
- # restarted.
- #
- # It is legal for both the delay function and the action
- # function to to modify the queue or to raise an exception;
- # exceptions are not caught but the scheduler's state
- # remains well-defined so run() may be called again.
- #
- # A questionably hack is added to allow other threads to run:
- # just after an event is executed, a delay of 0 is executed,
- # to avoid monopolizing the CPU when other threads are also
- # runnable.
#
|