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