I'm having difficulties with the python timer and would greatly appreciate some advice or help :D
I'm not too knowledgeable of how threads work, but I just want to fire off a function every 0.5 seconds and be able to start and stop and reset the timer.
However, I keep getting
RuntimeError: threads can only be started once
The best way is to start the timer thread once. Inside your timer thread you'd code the following
class MyThread(Thread): def __init__(self, event): Thread.__init__(self) self.stopped = event def run(self): while not self.stopped.wait(0.5): print "my thread" # call a function
In the code that started the timer, you can then
set the stopped event to stop the timer.
stopFlag = Event() thread = MyThread(stopFlag) thread.start() # this will stop the timer stopFlag.set()