プロセス プールが作成され、10 個のプロセスがあるが、プログラムが 4 個のプロセスしか使用しない場合、アイドル プロセスが 6 個あることを意味します。
プロセス プールを使用するには、通常、疑似コードは次のようになります。
pool=create_process_pool(M)
for i in 1:N:
pool.run(task i)
pool.wait()
pool.close()
プールは、pool.wait() を呼び出すタイミングをどのように決定しますか? いくつかのケースがあります:
1 M>N の場合、たとえば M=10、N=6 の場合、4 つのアイドル プロセスがあります。6 つの使用済みプロセスについては、実行が終了して終了すると、pool.wait() に通知できますが、4 つのアイドル プロセスについては、実行されていないため、終了したことを pool.wait() に通知するにはどうすればよいでしょうか。 ?
2 M < N の場合、プロセスはタスクを終了して終了し、別のタスクに使用できます。では、このプロセスはどのようにしてタスクがなくなることを認識し、pool.wait() に通知することができますか?
この点でプロセスプールがどのように機能するかを誰かが少し説明できますか? ありがとう!