Windows で実行可能ファイルを実行し、テキスト出力ファイルを複数のスレッド プロセスを使用するバージョンに管理する Python スクリプトをアップグレードして、複数のコアを利用できるようにしようとしています。各スレッドがアクセスすることを認識している実行可能ファイルの 4 つの個別のバージョンがあります。この部分は正常に動作します。私が問題に遭遇するのは、それらが同時に実行されていて、(異なる) 出力ファイルを開こうとして、それらが正しく実行され、出力ファイルの内容に応じて反応することを確認する場合です。
具体的には、3 つのスレッドを実行すると、2 つのスレッドが次のエラーでクラッシュし、1 つのスレッドは引き続き動作します。
Exception in thread Thread-4:
Traceback (most recent call last):
File "C:\Python27\lib\threading.py", line 552, in __bootstrap_inner
self.run()
File "E:\HDA\HDA-1.0.1\Hm-1.0.1.py", line 782, in run
conf = self.conf_file(Run)
File "E:\HDA\HDA-1.0.1\Hm-1.0.1.py", line 729, in conf_file
l = open(self.run_dir(Run)+Run, 'r').readlines() #list of file lines
IOError: [Errno 2] No such file or directory: 'Path/to/Outputfile'
これは、スレッドが実行可能ファイルを正しく実行していないことが原因です (つまり、'Path/to/Outputfile' が作成されず、見つからないためです)。しかし、スレッドの 1 つはこれを正しく行いますが、他の 2 つはできません。異なるバージョンの実行可能ファイルを実行する複数のスレッドを取得できない理由はありますか?