Мне нужно каким-то образом использовать функцию в pool.map(), которая принимает более одного параметра. По моему пониманию, целевая функция pool.map() может иметь только один итеративный параметр, но есть ли способ, которым я могу передать и другие параметры? В этом случае мне нужно передать несколько переменных конфигурации, например, мою Lock() и информацию о регистрации целевой функции.
Я попытался провести некоторое исследование, и я думаю, что я могу использовать частичные функции, чтобы заставить его работать? Однако я не совсем понимаю, как они работают. Любая помощь будет принята с благодарностью! Вот простой пример того, что я хочу сделать:
def target(items, lock):
for item in items:
# Do cool stuff
if (... some condition here ...):
lock.acquire()
# Write to stdout or logfile, etc.
lock.release()
def main():
iterable = [1, 2, 3, 4, 5]
pool = multiprocessing.Pool()
pool.map(target(PASS PARAMS HERE), iterable)
pool.close()
pool.join()