python thread.join()不是连接到调用者线程而是连接到另一个指定的线程?

时间:2014-07-31 10:59:01

标签: python multithreading join external

python代码:

import threading

def f1():
    #long looping

def f2():
    #another long looping  

t1 = threading.Thread(target=f1)
t2 = threading.Thread(target=f2)

t1.start()
t2.start()   

#t2.join(t1) <---???

主线程中是否可以调用类似t2.join(t1)的内容? 了解我可以从t2.join()拨打f1(),但我正在寻求一种从外部呼叫的方式(不是在t1和t2中)。

谢谢。

1 个答案:

答案 0 :(得分:0)

不,你不能在join方法中指定一个线程。

如果要在主线程中继续执行之前等待t1和t2完成,请加入两个线程:

import threading
import time

def f1():
    #long looping

def f2():
    #another long looping  

t1 = threading.Thread(target=f1)
t2 = threading.Thread(target=f2)

t1.start()
t2.start()   

t1.join()
t2.join()

print("Continuing with main thread...")