multiprocessing4タイトルとURLをコピーPythonでthreadingとmultiprocessingを使って並列処理を行う方法を紹介します。時間のかかる独立した操作を並列処理したいとき、Pythonにはthreadingモジュールが用意されています。対して、実行したい関数を渡します。メソッドを呼び出すと、実行が開始されます。実行時間を比較するさきほどのcompute()関数を以下の2つの方法で実行してみます。Threadオブジェクトに渡して実行する(sample2.py)2つの方法でそれぞれ実行時間を比較してみると、以下のような結果になりました。0m8.717s実行時間は環境によって異なりますが、並列処理にしたはずですが、余計に時間がかかっています。これはCPythonのインタプリタでは1度に1つのスレッドしか実行されないことが原因です。本当に期待する効果を得るためには、threadingの代わりにmultiprocessingモジュールを使う必要があります。multiprocessingによる並列処理multiprocessingではクラス名はThreadの代わりにProcessとなります。start()とjoin()を使うことができます。completed.'実行結果は次のようになりました。0m3.559sthreadingモジュールの場合と比較すると、時間が短縮されたことがわかります。処理を伴う場合などに有効だとされています。multiprocessingではマルチコアプロセッサを活用して計算を行うことができます。MILKはより良いサービスやプロダクトを作りたい人のためのメディアです。