Pages

Pythonメモ@並列処理編

2014年1月10日金曜日

Pythonで並列処理を行いたいと思ってthreadingモジュールを見ていたのだけど、
multiprocessingなるモジュールもあるらしい。
公式のドキュメントには
multiprocessing はPythonの標準ライブラリのパッケージで threading とよく似た API を使ってプロセスを生成することができます。 multiprocessing パッケージを使用すると、ローカルとリモート両方の並列制御を行うことができます。また、このパッケージはスレッドの代わりにサブプロセスを使用することにより、グローバルインタプリタロック ( Global Interpreter Lock ) の問題を避ける工夫が行われています。このような特徴があるため multiprocessing モジュールを使うことで、マルチプロセッサマシンの性能を最大限に活用することができるでしょう。 (16.6. multiprocessing — プロセスベースの “並列処理” インタフェース
と書かれている。
わかったようなわからないようなということで、プロセスとスレッドの違いを調べてみた。
プロセス、スレッド、ファイバ、タスク、ジョブ、違いを整理してみよう
プロセス:プログラムの実行単位
スレッド:プロセスに1つ以上含まれる。CPUの実行単位。
ということらしい。
ふむ。
多分、私のやりたいことだとどっちでも良さそうなので、
とりあえずmultiprocessingを使ってみる〜〜〜

そんなことを調べていくうちに見つけたブログ記事。
if __name__ == '__main__': について
知らなかった〜勉強になった〜



0 コメント:

コメントを投稿