Hi,pythoners: I countered some problems when I try to stop threads using flag. These are my some important codes:
##### mythread.py def run(self): while self.addr != '': ### text waiting for processing if not self.CONTINUE: ### flag for thread ,means to exit the RUN func or not break print self.name post(self.params, self.addr) ### func to process the text self.addr = furl.readline().strip() ###### myapp.py def OnEndProcess(self, event): if self.threadList: for thread in self.threadList: thread.CONTINUE = False ##### this func is an EVENT processor. When I press the END BUTTON , it will be caused. def OnBeginProcess(self, event): for i in range(num): if lines[i]!= '': thread = mythread.mythread('Thread'+str(i),lines[i], params) self.threadList.append(thread) print '\n Starting Threads' for i in self.threadList: i.start() ###### this func is an EVENT processor. When I press the BEGIN BUTTON , it will be caused. By test I found this truely acts as supposed:thread exited the *run()* func. But when I press the BEGIN BUTTON again, an Error was caused: thread already started. It's said that if the *run()* func is finished, the thread will become dead. So how to interprete this? Any solution? Thanks.
-- http://mail.python.org/mailman/listinfo/python-list