私はこのコードを持っている:私はこれを実行するとターゲット・ファンクションの外部でマルチプロセスが実行されているのはなぜですか?
import multiprocessing
with open('pairs.txt') as f:
pairs = f.read().splitlines()
print(pairs)
def worker(pairtxt):
print(pairtxt)
if __name__ == '__main__':
jobs = []
for i in pairs:
p = multiprocessing.Process(target=worker, args=(i,))
jobs.append(p)
p.start()
、それは私が自分自身で一度推測し、二回マルチプロセッシングではなく、なぜそれがさらに外に実行されているよ、3回(pairtxtない)のペアは、可変出力ターゲット関数?
私の出力は、私が2行 "1" と "2" を含むpairs.txtを取得しています
['1', '2']
['1', '2']
1
['1', '2']
2
達成しようとしていることは何ですか?私たちはpairs.txtの中に何が入っているのか分かりません:) –
関数だけで実行されるプロセスでは、 "for i in pairs"によって割り当てられた行を出力しますが、これはうまくいきますが、関数の外で実行されていると私のスクリプト全体を実行しているようだ。 pairs.txtの内部は単純な言葉の2行です。 – gregz11818
私はpairs = [1,2]を使用し、コードを実行し、最初に "1"を出力し、次に "2"を出力しました。 –