【发布时间】:2017-02-12 20:45:25
【问题描述】:
我有一个 python 函数,需要用户输入一个数据数组;此时函数处理数据并生成两个数组,这些数组返回给主程序。在这个问题中,我提供了一个非常简化的示例,希望可以从中寻求一些建议或帮助。我创建了一个名为“Test_Function”的函数,它要求程序员提供一个名为“Array”的数据数组,在这种情况下,它的长度为 5000。该函数处理数据并生成两组名为“Result1”的数组和在主程序中作为变量“Res1”和“Res2”返回给用户的“Result2”。我想对函数进行线程化,以便函数“Test_Function”这样一个线程将在输入数组的一半上工作,另一个线程将在另一半上工作,然后在主程序中将它们组合回两个输出数组“Result1”和“Result2”/“Res1”和“Res2”。我描述了一个我会产生两个线程的场景,但我想让它足够通用,以便它可以运行用户定义的线程数。如何使用线程功能执行此操作?
import numpy as np
def Test_Function(Array):
Result1 = Array*np.pi*(1-Array)
Result2 = Array+478.5 + (1/Array)
return(np.array(Result1,dtype=float), np.array(Result2,dtype=float))
#---------------------------------------------------------------------------
if __name__ == "__main__":
Dependent_Array = np.linspace(1.0,5000.0,num=5000)
Res1, Res2 = Test_Function(Dependent_Array)
# eof
【问题讨论】:
标签: python multithreading python-2.7 python-3.x python-multithreading