I am trying to use Peter's StoppableThread(threading.Thread). What I want to do is to start 5 child threads, then do something, then when got ^C keyboard exception, stop the child thread.
For some reason (apparently strange for me :) ), the child threads can NOT be stopped. See the enclosed code for more info, Thanks and have a nice Xmas. Jimmy ============ #!/usr/bin/env python import threading, thread from time import sleep, ctime class StoppableThread(threading.Thread): def __init__(self): threading.Thread.__init__(self) self._running = True def stop(self): self._running = False def run(self): while self._running: # do stuff here that loops periodically to allow # the flag to be checked print 'start loop at:', ctime() sleep(4) def main(): threads = [] try: for i in range(5): t = StoppableThread() t.start() sleep(0.001) threads.append(t) except KeyboardInterrupt: for t in threads: t.stop() t.join() del threads[:] print 'child thread exiting...'+'/n/n' if __name__ == '__main__': main() -- http://mail.python.org/mailman/listinfo/python-list