我想改变这个:
for _ in range(3):
number = random.randint(1, 2) # choosing a random waiting time for seconds
p = multiprocessing.Process(target=do_something, args=(number,))
p.start()
process.append(p)
进入此:
with concurrent.futures.ProcessPoolExecutor() as executor:
results = [(number,executor.submit(do_something, number)) for number in range(10) number=random.randint(10)]
我不知道如何做好,我有这个错误:
results = [(number,executor.submit(do_something, number)) for number in range(10) number=random.randint(10)]
^^^^^^
SyntaxError: invalid syntax
我尝试过放入 () 和 [] 甚至 , 我不知道该尝试什么
试试这个:
import concurrent.futures
import random
with concurrent.futures.ProcessPoolExecutor() as executor:
results = [(number, executor.submit(your_function_here, number)) for number in [random.randint(1, 2) for _ in range(3)]]
确保将 your_function_here 替换为您要执行的实际函数。
我相信这就是您正在寻找的实现您正在寻找的并行执行的方法。