threading.join()的行为不符合预期

时间:2017-04-18 12:11:03

标签: python multithreading

我需要构建线程执行一个长时间运行的函数,以便不阻塞我的主线程。

我构造了一个forstart()一个线程,然后join()该线程应该阻塞调用它的线程(即包含for的线程)。

但是,出于某种原因,以下循环同时构建并启动每个线程,而不是在每个t1完成之后:

def myfunc()
    for _num in range(3):
        print "Hello"

for num in range(5):
    t1 = threading.Thread(target=myfunc)
    t1.start()
    t1.join()
    print "World"

我的期望:

Hello
Hello
Hello
World
Hello
Hello
Hello
World...

我得到了什么:

Hello
Hello
Hello
Hello
Hello
Hello
.
.
.
World
World
World
World
World

0 个答案:

没有答案