web-dev-qa-db-ja.com

GNU並列Pythonセマフォ

PythonスクリプトをGNU並列で並列化し、ファイルに出力したい特定の結果を見つけます。これは現在、標準のPythonファイルIOで実行しています。問題は、並列化された各スレッドでこのファイルを開くと、書き込み中にスレッドがお互いのつま先を踏んでいることです。 FIFOセマフォを実装したいのですが、これはGNU並列スクリプトに含まれている必要があると思いますが、Python内からファイルにアクセスしている場合はどうすればよいかわかりません。私の現在のスクリプトは次のとおりです。

#!/bin/bash
time parallel -j$(nproc) -N0 python3 ./polynomial_generator.py ::: {1..10}  --progress echo {} >/tmp/out
1
Alex Williams

pythonスクリプトを変更して、出力をstdoutに送信してから、次のようにします。

parallel -N0 --progress --results res/ python3 ./polynomial_generator.py ::: {1..10}

出力はres/*/*になります。

1
Ole Tange