Du skal sætte al kode, der bruger multiprocessing, i sin egen funktion. Dette forhindrer det i rekursivt at lancere nye puljer, når multiprocessing genimporterer dit modul i separate processer:
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()
Se dokumentationen om at sikre, at dit modul er kan importeres , også rådet til at køre på Windows(tm)