Threads: does Thread.start() atomically set Thread.__started ?
Enigma Curry
workbee at gmail.com
Tue Mar 14 17:59:18 EST 2006
Can some kind person please further my education on Threads?
When I create a thread called "t" and I do a "t.start()" am I
guaranteed that "t.isAlive()" will return True as long as the thread
hasn't already completed? Put another way, does "t.start()" ever return
before t.__started is set to True?
consider this example:
import time
import threading
class MyThread(threading.Thread):
def __init__(self):
self.completed = False
threading.Thread.__init__(self)
def run(self):
#do something
time.sleep(1)
self.completed = True
t = MyThread()
while t.isAlive() == False and t.completed == False:
t.start()
In the above code, am I guaranteed that t will only be (attempted to
be) started once?
Thanks,
Ryan
More information about the Python-list
mailing list