Threading Problem

Norbert Norbert.Klamann at klamann-software.de
Wed Dec 22 12:38:17 CET 2004


Hello *,
i am experimenting with threads and get puzzling results.
Consider the following example:
#--------------------
import threading, time

def threadfunction():
....print "threadfunction: entered"
....x = 10
....while x < 40:
........time.sleep(1) # time unit is seconds
........print "threadfunction x=%d" % x
........x += 10



print "start"
th = threading.Thread(target = threadfunction())
th.start()
print "start completed"
#--------------------
(the dots are inserted becaus Google mangles the lines otherwise)

This program gives the following result :
----
start
threadfunction: entered
threadfunction x=10
threadfunction x=20
threadfunction x=30
start completed
----
My aim was that the main program should continue to run while
threadfunction runs in parallel. That's the point of threads after all,
isn't it ?

I awaited something like the following :
start
threadfunction: entered
start completed                <-------------------
threadfunction x=10
threadfunction x=20
threadfunction x=30

Does anyone know what's going on here ?

Thanks for listening !

Norbert




More information about the Python-list mailing list