import multiprocessing as mp
from functools import partial
def read_files(file_name):
return file_name, file_name + 'value'
def function(file_name, d, lock):
key, value = read_files(file_name)
lock.acquire()
if (key not in d):
d[key] = []
tmp = d[key]
tmp.append(value)
d[key] = tmp
lock.release()
if __name__ == '__main__':
manager = mp.Manager()
d = manager.dict()
lock = manager.Lock()
partial_function = partial(function, d=d, lock=lock)
pool = mp.Pool(10)
files = ['a', 'b', 'c']
pool.map(partial_function, files)
pool.close()
pool.join()
aW1wb3J0IG11bHRpcHJvY2Vzc2luZyBhcyBtcApmcm9tIGZ1bmN0b29scyBpbXBvcnQgcGFydGlhbAoKZGVmIHJlYWRfZmlsZXMoZmlsZV9uYW1lKToKCXJldHVybiBmaWxlX25hbWUsIGZpbGVfbmFtZSArICd2YWx1ZScKCmRlZiBmdW5jdGlvbihmaWxlX25hbWUsIGQsIGxvY2spOgogICAga2V5LCB2YWx1ZSA9IHJlYWRfZmlsZXMoZmlsZV9uYW1lKQogICAgbG9jay5hY3F1aXJlKCkKICAgIGlmIChrZXkgbm90IGluIGQpOgogICAgICAgIGRba2V5XSA9IFtdCiAgICB0bXAgPSBkW2tleV0KICAgIHRtcC5hcHBlbmQodmFsdWUpCiAgICBkW2tleV0gPSB0bXAKICAgIGxvY2sucmVsZWFzZSgpCgppZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgbWFuYWdlciA9IG1wLk1hbmFnZXIoKQogICAgZCA9IG1hbmFnZXIuZGljdCgpCiAgICBsb2NrID0gbWFuYWdlci5Mb2NrKCkKICAgIHBhcnRpYWxfZnVuY3Rpb24gPSBwYXJ0aWFsKGZ1bmN0aW9uLCBkPWQsIGxvY2s9bG9jaykKICAgIHBvb2wgPSBtcC5Qb29sKDEwKQogICAgZmlsZXMgPSBbJ2EnLCAnYicsICdjJ10KICAgIHBvb2wubWFwKHBhcnRpYWxfZnVuY3Rpb24sIGZpbGVzKQogICAgcG9vbC5jbG9zZSgpCiAgICBwb29sLmpvaW4oKQ==