Frank Millman wrote:
class Timer(threading.Thread): def __init__(self): threading.Thread.__init__(self) self.event = threading.Event()def run(self): while not self.event.is_set(): """ The things I want to do go here. """ self.event.wait(number_of_seconds_to_wait) def stop(self): self.event.set() In your main program - - to start the timer tmr = Timer() tmr.start() - to stop the timer tmr.stop()It is easy to extend this by passing the number_of_seconds_to_wait, or a function name to be executed, as arguments to the Timer.
I'm newbie at threading, so I'm actually asking: should not method like stop() be surrounded with acquire() and release() of some threading.lock?
I mean, is this safe to update running thread's data from the main thread without lock?
Regards, mk -- http://mail.python.org/mailman/listinfo/python-list
