János Juhász wrote: > > Dear Tutors, > > ################################### > from threading import Thread > import sys > import time > > # This thread would read lines from a > # barcode scanner > class ComThread(Thread): > def __init__(self): > Thread.__init__(self)
If you call self.setDaemon() here you will mark the thread as a daemon thread and it will not block the exit of the program. > > def run(self): > while 1: > time.sleep(2) > print time.ctime() > > com = ComThread() > com.start() > > # Main loop for handling the keyboard > while 1: > s = raw_input() > if s == '': continue > elif s in 'qQ': > # may I com.Terminate() here > sys.exit() > # when I goes out here > # the comthread is just running. > else: > try: > num = int(s) > print 'mod qty=%d' % num > except: > pass > ################################# > > When this program leaves from the while loop, it doesn't terminate the > comreader thread. setDaemon() is the simplest way, as noted above. You could also have the main loop set a flag that the thread loop checks; if the flag is set the thread loop exits. Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor