搜尋

首頁  >  問答  >  主體

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

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

高洛峰高洛峰2828 天前842

全部回覆(2)我來回復

  • 伊谢尔伦

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

    確認程式碼沒有弄錯嗎,怎麼感覺multiprocess的那裡計算了兩次......

    回覆
    0
  • PHP中文网

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

    多進程是在多個進程中,一個進程的阻塞並不會影響到其他進程。例如在一個進程中進行大量的計算操作,並不會對其他進程產生較大影響。

    協程就是在一個執行緒中,如果協程中一個任務發生阻塞,其餘任務也會受到影響。比方說在一個任務中,進行大量的運算操作,那麼這個任務將會阻塞其餘的任務。

    所以協程不適合處理運算密集的任務,而適合處理IO密集型的任務,因為攜程配合異步IO,就可以在不阻塞進程情況下,又能獲得同步編程的快感。

    回覆
    0
  • 取消回覆