首页 > 解决方案 > 线程化 Python3

问题描述

我正在尝试在 Python 中使用线程,并且努力同时启动两个函数,然后等待两者完成并将返回的数据加载到主代码中的变量中。如何做到这一点?

import threading
from threading import Thread

func1():
 #<do something>
 return(x,y,z)

func2():
 #<do something>
 return(a,b,c)

Thread(target=func1).start()
Thread(target=func2).start()
#<hold until both threads are done, load returned values>

标签: pythonpython-multithreading

解决方案


提出的问题肯定需要更加明确。也许你在追求类似下面的东西?

import threading
from threading import Thread

def func1():
 print("inside func1")
 return 5

def func2():
    print("inside func2")
    return 6


if __name__ == "__main__":
    t1 = Thread(target=func1)
    t2 = Thread(target=func2)
    threads = [t1, t2]
    for t in threads:
        t.start()

我相信您错过了实际启动线程的 start() 方法?


推荐阅读