first stab at threading, and it isn't working as I expect. Instead of the threads starting when I call start(), they seem to run the target code as
part of the constructor call.
Here is my test code...
#!/usr/bin/python
import time import threading
def fiddle(): for n in range(3): print n time.sleep(1)
print 'Creating threads...' t1 = threading.Thread(target=fiddle()) t2 = threading.Thread(target=fiddle()) print 'Starting threads...' t1.start() t2.start()
I was expecting output like this:
Creating threads... Starting threads... 0 0 1 1 2 2
but I get this instead:
Creating threads... 0 1 2 0 1 2 Starting threads...
This is in python 2.3 on Linux and also python 2.4 on XP. Either threading in Python is badly broken, or I'm missing something fundamental. I know which is most likely, but I can't figure it out.
Could someone point me in the right direction, plese?
TIA Steve -- http://mail.python.org/mailman/listinfo/python-list