Я пытаюсь использовать частичную функцию, чтобы pool.map() мог нацеливать на функцию с несколькими параметрами (в данном случае объект Lock()).
Вот пример кода (взятый из ответа на предыдущий вопрос):
from functools import partial
def target(lock, iterable_item):
    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()
    l = multiprocessing.Lock()
    func = partial(target, l)
    pool.map(func, iterable)
    pool.close()
    pool.join()
Однако, когда я запускаю этот код, я получаю ошибку:
Runtime Error: Lock objects should only be shared between processes through inheritance.
Что мне здесь не хватает? Как я могу совместно использовать блокировку между моими подпроцессами?
