join类是threading中用于堵塞当前主线程的类,其作用是阻止全部的线程继续运行,直到被调用的线程执行完毕或者超时。具体代码如下:
import threading,time def doWaiting(): print("start waiting:",time.strftime('%S')) time.sleep(3) #休眠3秒 print("stop waiting:",time.strftime('%S')) thread1 = threading.Thread(target=doWaiting) thread1.start() time.sleep(1) #休眠1秒 print("start join") thread1.join() #将一直阻塞,直到thread1运行结束 print("end join") doWaiting()
其中的time方法设定了当前的时间。当join启动后,堵塞了调用整体进程的主进程,只有当被堵塞的进程执行完毕后,后续的进程才可以继续执行。
程序的运行结果如下: