我想尝试通过使用多处理来使我的代码更快。
问题是我的函数将有多个参数,因此我找到的解决方案是创建列表列表。这是最快的方法吗? 有没有比while循环更好的方法了?
这是我的代码:
def add(a, b, c):
x = a + b + c
print(x)
CPUS = multiprocessing.cpu_count()
WORKERS = multiprocessing.Pool(processes=CPUS)
Tasklist1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
Tasklist2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
Tasklist3 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
a = []
i = 0
while i < len(Tasklist1):
a.append([Tasklist1[i], Tasklist2[i], Tasklist3[i]])
i += 1
WORKERS.starmap(add, a)