マルチプロセッシングを使用するすべてのコードを、独自の関数内に配置する必要があります。これにより、マルチプロセッシングがモジュールを個別のプロセスで再インポートするときに、新しいプールを再帰的に起動することが停止します。
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()
モジュールがインポート可能 、また、 Windows(tm)で実行するためのアドバイス