U moet alle code die multiprocessing gebruikt, in zijn eigen functie plaatsen. Dit stopt het recursief starten van nieuwe pools wanneer multiprocessing uw module opnieuw importeert in afzonderlijke processen:
def parse_file(filename):
...
def main():
pool = mp.Pool(processes=8)
pool.map(parse_file, ['my_dir/' + filename for filename in os.listdir("my_dir")])
if __name__ == '__main__:
main()
Zie de documentatie over zorg ervoor dat uw module importeerbaar , ook het advies voor het draaien op Windows(tm)