検索

ホームページ  >  に質問  >  本文

Python中multiprocessing与concurrent相比为什么差距这么大?

好吧,我弄错了,concurrent与multiprocessing与只有在处理IO型任务的时候才有优势,计算型任务没有什么不同。

高洛峰高洛峰2777日前806

全員に返信(2)返信します

  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:12:22

    コードが正しいと確信していますか? なぜマルチプロセスが 2 回計算しているように感じますか?

    返事
    0
  • PHP中文网

    PHP中文网2017-04-18 10:12:22

    マルチプロセスは複数のプロセスの間にあり、1つのプロセスがブロックされても他のプロセスには影響しません。たとえば、1 つのプロセスで多数の計算操作を実行しても、他のプロセスに大きな影響を与えることはありません。

    Coroutine がスレッド内にある場合、コルーチン内のタスクがブロックされると、他のタスクも影響を受けます。たとえば、タスク内で多数の計算操作が実行される場合、このタスクは他のタスクをブロックします。

    そのため、コルーチンはコンピューティング集約型のタスクの処理には適していませんが、IO 集約型のタスクの処理には適しています。Ctrip は非同期 IO と連携するため、プロセスをブロックすることなく同期プログラミングを楽しむことができます。

    返事
    0
  • キャンセル返事