I'm a newbie trying to write a script that uses threads. I'm right now a little bit stuck in understanding why the code snippet I wrote doesn't seem to be entering the function defined in the start_new_thread() call.
If I run it as is (the threaded version), the output is: UA_1 configuring... UA_1 halting.. But if I comment out the line w/ the thread and just call the function directly, everything seems to work OK: UA_1 configuring... UA_1 executing... UA_1 halting... Can anyone tell me why the thread doesn't seem to invoke the function "execute()"? I'm running Python 2.4.3. Here is my code: =========== import thread class Test(object): def __init__(self, instanceID): self.instanceID = instanceID def configure(self): print self.instanceID + " configuring..." def execute(self): print self.instanceID + " executing..." def halt(self): print self.instanceID + " halting..." if __name__ == "__main__": """usage: sipp_auto [options]""" ua1 = Test("UA_1") ua1.configure() #ua1.execute() thread.start_new_thread(ua1.execute, ()) ua1.halt() =========== Thanks, James -- http://mail.python.org/mailman/listinfo/python-list