Diez B. Roggisch wrote: > mk wrote: > >> >> 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? > > stop() is part of the Timer-interface, and tas it's not mentioned to be > unsafe in the docs you can just call it. It might be that it internally > calls some threadsafe means of communication (Event, Lock). >
Thought I should jump in here to avoid any confusion. mk is referring to the Timer class that I included in my reply to the OP. It is different from the Timer class in the threading module. I had not realised that I was duplicating an existing name - sorry about that. The standard Timer class has a method called cancel(). I am sure that Diez's comments above will apply to this. I included a method called stop() in my Timer class, and I think it is to this that mk is referring. The method looks like this - def stop(self): self.event.set() Is this threadsafe? I would have thought the answer is yes, but I am no expert. Perhaps someone else can confirm. Thanks Frank Millman -- http://mail.python.org/mailman/listinfo/python-list