Python 直到子线程完成,主线程才执行
基本上,我有一个程序,我想在主线程旁边创建一个线程来执行某些函数。但在python中,似乎在创建线程时,直到创建线程尚未完成,执行才会传递给主线程 请参见以下示例:Python 直到子线程完成,主线程才执行,python,multithreading,Python,Multithreading,基本上,我有一个程序,我想在主线程旁边创建一个线程来执行某些函数。但在python中,似乎在创建线程时,直到创建线程尚未完成,执行才会传递给主线程 请参见以下示例: import threading import time def testing(): time.sleep(30) wt = threading.Thread(target=testing, name="test", daemon=True) print("Starting threa
import threading
import time
def testing():
time.sleep(30)
wt = threading.Thread(target=testing, name="test", daemon=True)
print("Starting thread")
wt.start()
wt.join()
print("do other stuff next to above thread")
如果运行上述程序,直到测试功能尚未完成,主程序不会在上述线程旁边打印执行其他操作
不确定我是否缺少一些参数或什么,但有人能告诉我如何创建一个线程,让主程序继续执行吗?调用wt.join()
使脚本停止并等待wt完成。
如果您想在wt运行时运行其他东西,请在以后再调用wt.join()
请尝试此代码以查看:
导入线程
导入时间
def测试():
打印('in testing()'))
时间。睡眠(5)
wt=threading.Thread(target=testing,name=“test”,daemon=True)
打印(“起始线程”)
wt.start()
打印(“在上面的线程旁边做其他事情”)
wt.join()
打印('一切之后')
调用wt.join()
使脚本停止并等待wt完成。
如果您想在wt运行时运行其他东西,请在以后再调用wt.join()
请尝试此代码以查看:
导入线程
导入时间
def测试():
打印('in testing()'))
时间。睡眠(5)
wt=threading.Thread(target=testing,name=“test”,daemon=True)
打印(“起始线程”)
wt.start()
打印(“在上面的线程旁边做其他事情”)
wt.join()
打印('一切之后')
wt.join()
显式等待wt
结束。主线程是并行执行的,但它正在执行您让它执行的操作:等待wt
结束。将wt.join()
向下移动一行,主线程将立即打印“做其他事情…”
。wt.join()
显式等待wt
结束。主线程是并行执行的,但它正在执行您让它执行的操作:等待wt
结束。将wt.join()
向下移动一行,主线程将立即打印“做其他事情…”
。这基本上是Tim Peters所说的。这基本上是Tim Peters所说的。