fork download
  1. import multiprocessing as mp
  2. from functools import partial
  3.  
  4. def read_files(file_name):
  5. return file_name, file_name + 'value'
  6.  
  7. def function(file_name, d, lock):
  8. key, value = read_files(file_name)
  9. lock.acquire()
  10. if (key not in d):
  11. d[key] = []
  12. tmp = d[key]
  13. tmp.append(value)
  14. d[key] = tmp
  15. lock.release()
  16.  
  17. if __name__ == '__main__':
  18. manager = mp.Manager()
  19. d = manager.dict()
  20. lock = manager.Lock()
  21. partial_function = partial(function, d=d, lock=lock)
  22. pool = mp.Pool(10)
  23. files = ['a', 'b', 'c']
  24. pool.map(partial_function, files)
  25. pool.close()
  26. pool.join()
Success #stdin #stdout 0.14s 15628KB
stdin
Standard input is empty
stdout
Standard output is empty