Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 直到子线程完成,主线程才执行_Python_Multithreading - Fatal编程技术网

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

基本上,我有一个程序,我想在主线程旁边创建一个线程来执行某些函数。但在python中,似乎在创建线程时,直到创建线程尚未完成,执行才会传递给主线程

请参见以下示例:

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所说的。