我在Python中想要实现多线程,但是遇到了一些困难。我有一个函数需要基于一个参数在5个线程上执行,同时还需要两个对于每个线程都相同的参数。这是我的代码:
from concurrent.futures import ThreadPoolExecutor
def do_something_parallel(sameValue1, sameValue2, differentValue):
print(str(sameValue1)) #same everytime
print(str(sameValue2)) #same everytime
print(str(differentValue)) #different
main():
differentValues = ["1000ms", "100ms", "10ms", "20ms", "50ms"]
with ThreadPoolExecutor(max_workers=5) as executor:
futures = [executor.submit(do_something_parallel, sameValue1, sameValue2, differentValue) for differentValue in differentValues]
但我不知道接下来该怎么做
executor.map(partial(fun, param1=arg1, param3=arg3), param2=arg2)
会抛出错误,而删除param2=
又会导致错误,因为可迭代参数被传递给了第一个参数。 - Buzz B