On Feb 21, 4:12 pm, mark <[EMAIL PROTECTED]> wrote: > On 20 Feb 2007 20:47:57 -0800, placid <[EMAIL PROTECTED]> wrote: > > > On Feb 21, 3:08 pm, mark <[EMAIL PROTECTED]> wrote: > > > Right now I have a thread that sleeps for sometime and check if an > > > event has happened and go back to sleep. Now instead I want the thread > > > to sleep until the event has occured process the event and go back to > > > sleep > > > > class eventhndler(threading.Thread): > > > def __init__(self): > > > threading.Thread.__init__(self) > > > def run(self): > > > while True: > > > time.sleep(SLEEPTIME) > > > ''''do event stuff''' > > > The way i would do this is by using an threading.Event ( > >http://docs.python.org/lib/event-objects.html) > > > <code> > > > class eventhandler(threading.Thread): > > def __init__(self): > > threading.Thread.__init__(self) > > self.event = threading.Event() > > def run: > > while True: > > # block until some event happens > > self.event.wait() > > """ do stuff here """ > > self.event.clear() > > </code> > > > the way to use this is to get the main/separate thread to set() the > > event object. > > Can you give an example of how to get the main threead to set teh event > object? > this is exactly what i wanted to do! > thanks a lot! > mark
To set the event object <code> if __name__ == "__main__": evtHandlerThread = eventhandler() evtHandler.start() # do something here # evtHandler.event.set() # do more stuff here # evtHandler.event.set() </code> Hope thats what your looking for. Cheers -- http://mail.python.org/mailman/listinfo/python-list