マルチスレッド/マルチプロセスを選択する方法

1.結論:

CPUに負荷コード(様々なループ処理、計算、等);多を用いた処理

IO集約型コード(文書処理、ウェブクローラなど):使用してマルチスレッド

2、説明:

唯一の道は、シングルスレッドと車を運転している間だけ、単一のレーンです。

マルチスレッドは、唯一の道であるが、マルチレーン、マルチ車が同時に移動することができますです。

マルチプロセス多くの道路があり、各道路は、単一のレーンかもしれまた、マルチレーンであってもよいし、あなたは、同時に多くの車でも走行することができます。

 

車を運転している間だけ存在しGIL、実際には、マルチスレッドのpythonので、ばかりドライバのように、一度に1つのスレッドを実行することができます。4×4車線道路に類似したスレッドが、ドライバーが走行車線A上の車のレーンBから車を運転に切り替えることができ、ドライバの速度が十分に速く切り替え、この道に4のようになります。車両が同時に移動しています。司令官は、唯一のレーンがドライバに送信することができ横断する必要がある、コマンド時間伝送損失が比較的小さい命令を発行しました。だから、マルチスレッドのために、我々は、ドライバがすぐに完了してからコマンドを実行し続けるために、次のレーンに切り替えるためのコマンドを取得することができ、指揮官はより頻繁に注文を出すことができることを願っていますので、4台の車を運転しながら、それはドライバーのようになります。 。だから、IO集約型のコードのためには、複数のスレッドを使用することをお勧めします。

マルチプロセスも、各道路は24道に類似ドライバは、4つのスレッドを有しているため、4つのドライバは、同時に4台を駆動することができます。しかし、指揮官は、運転手に渡すために道路を横断する必要があり、コマンドの伝送損失の時間が比較的大きい命令を発行しました。だから、マルチプロセスのために、私たちは、司令官は、長い時間を実行することができ、ドライバの後にコマンドを発行したことを願っていますので、あなたは、情報の伝達にあまりにも多くの時間を費やす必要はありません。だから、CPUに負荷をかけコードのためには、複数のプロセスを使用することをお勧めします。

おすすめ

転載: www.cnblogs.com/wangyue0925/p/11313421.html