3

CPython では、スレッド化モジュールはグローバル インタープリター ロックを使用するため、複数のコアを使用しません。しかし、最近、GIL を回避すると言われている標準ライブラリからmultiprocessing モジュールを見つけました。そのモジュールで、CPython でマルチコアを適切に利用できると思いますが、正しいかどうか疑問に思います。

複数のコアを適切に使用する必要があるアプリを作成する必要がありますが、パフォーマンスがそれほど重要ではないため、Python で作成できますが、このモジュールで複数のコアを使用できるかどうかを知る必要がありますか?

4

1 に答える 1

6

multiprocessingライブラリは子プロセスを使用します。これらはそれぞれ独自の Python インタープリターで実行されます。

OS は、これらのプロセスを複数のプロセスとコアにわたってスケジュールすることができます。各子プロセスは個別の Python インタープリター プロセスであるため、GIL は干渉しません。

于 2013-02-13T11:41:48.217 に答える