0

どんな基本的な情報でも大歓迎です。

プロジェクトがほぼ完成しました。コードを実行してデータを取得するだけです。ただし、非常に時間がかかるため、コード (python) をマルチプロセスで使用できるようにすることをお勧めします。しかし、私はこれを行う方法について無知であり、実行するのに多くの問題を抱えています。Mac OS X 10.8.2 を使用しています。私はセマフォが必要であることを知っています。

multiprocessing モジュールと Thread モジュールを調べましたが、ほとんど理解できませんでした。Process() または Manager() 関数はこれと関係がありますか?

最後に、これには 16 個のプロセッサを使用できます。

4

1 に答える 1

4

multiprocessing モジュールを使用する必要があります。

どちらのモジュールも同時実行を可能にしますが、マルチプロセッシングのみが真の並列処理を可能にします。Python のグローバル インタープリター ロックにより、複数のスレッドを同時に実行することはできません。

16 個のプロセッサすべてをビジー状態に保つと、プログラミングの難しさが増すという代償が伴います。これは、個別のプロセスが共有メモリ空間で実行されないためです。そのため、生成されたプロセスが親プロセスとデータを共有する必要がある場合は、それをシリアル化する必要があります。

于 2013-08-11T03:28:17.267 に答える