Max Noel wrote:

On Feb 22, 2005, at 23:08, Bill Mill wrote:

If I recall correctly, there is not a direct way. Instead, you're
going to want to have your worker thread check a queue it shares with
the parent every so often to see if the supervisor thread has sent a
"quit" message to it.

Peace
Bill Mill
bill.mill at gmail.com


Using "direct" killing methods is not safe, because you never know at which point of its execution you terminate the thread. That's a Bad Thing(TM).

So instead, the Right Thing is to implement an end() method in the object you're using as a thread. That end() method just sets a flag (say, isToTerminate) to True.
Since the thread is running a loop, all you then have to do is have it check the isToTerminate flag at the beginning of each loop. If it's True, exit the loop (thus terminating the thread as it reaches the end of its run() method).

This recipe shows one way to do it: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/65448

Kent


-- Max
maxnoel_fr at yahoo dot fr -- ICQ #85274019
"Look at you hacker... A pathetic creature of meat and bone, panting and sweating as you run through my corridors... How can you challenge a perfect, immortal machine?"


_______________________________________________
Tutor maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/tutor



_______________________________________________
Tutor maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/tutor

Reply via email to