Python 多线程:同时执行多个函数并收集结果
以下是一个简单的案例,使用Python的多线程模块来同时调用四个函数,并将每个函数的返回结果添加到一个列表中:
import threading
# 定义四个函数,每个函数都有一个参数,返回字符串
def func1(arg):
return 'Function 1: ' + str(arg)
def func2(arg):
return 'Function 2: ' + str(arg)
def func3(arg):
return 'Function 3: ' + str(arg)
def func4(arg):
return 'Function 4: ' + str(arg)
# 创建一个列表来保存每个函数的返回结果
results = []
# 创建四个线程,每个线程分别调用一个函数,并将返回结果添加到列表中
t1 = threading.Thread(target=lambda: results.append(func1('argument 1')))
t2 = threading.Thread(target=lambda: results.append(func2('argument 2')))
t3 = threading.Thread(target=lambda: results.append(func3('argument 3')))
t4 = threading.Thread(target=lambda: results.append(func4('argument 4')))
# 启动四个线程
t1.start()
t2.start()
t3.start()
t4.start()
# 等待所有线程完成
t1.join()
t2.join()
t3.join()
t4.join()
# 打印结果列表
print(results)
输出:
['Function 1: argument 1', 'Function 2: argument 2', 'Function 3: argument 3', 'Function 4: argument 4']
在这个案例中,我们首先定义了四个函数,每个函数都有一个参数,并返回一个字符串。然后,我们创建一个空列表来保存每个函数的返回结果。
接下来,我们创建四个线程,每个线程分别调用一个函数,并将返回结果添加到列表中。我们使用Python的lambda函数来调用函数,并将返回结果添加到列表中,这样就可以在一个线程中完成。
然后,我们启动四个线程,并等待所有线程完成。最后,我们打印结果列表,以查看每个函数的返回结果。
原文地址: http://www.cveoy.top/t/topic/lGXV 著作权归作者所有。请勿转载和采集!