MultiThreading
洛 2021/10/30
# gma.osf.MultiThreading(Function, MTParameters, THNumber = 'ALL_CPUS', Process = True, *args, **kwargs)1.0.3 +
功能:【多线程】。创建多个线程,实现同一函数多个参数的同步执行。
参数:
Function:def||接受传参的可执行程序(命令)
。需要多线程执行的函数或程序(命令)。
MTParameters:list
。需要分别带入 Function 的参数集合。
可选参数:
THNumber = int||ALL_CPUS
。线程数,默认是所有 逻辑 CPU 核心数(ALL_CPUS)。
Process = bool
1.0.8 + 。是否显示多线程进度条。默认显示(True)。
*args:Function 的固定参数
。传递给 Function 的不变参数。从 Function 的第一个开始固定。
**kwargs:Function 的可选参数'
。传递给 Function 的不变可选参数。
返回: list
。每个参数带入 Function 执行后的返回值列表。与 MTParameters 的顺序一致。
示例:
from gma import osf
def Fun(Par):
a, b = Par
return round(a ** 3 ** 2 / b ** 2, 2)
import numpy as np
np.random.seed(1992)
Data = np.random.uniform(0, 2, size = (10, 2))
Result = osf.MultiThreading(Fun, Data, Process = False)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
>>> [185.76, 971.83, 5.47, 9.07, 717.46, 0.0, 0.33, 0.54, 2.89, 0.0]