好吧,我弄错了,concurrent与multiprocessing与只有在处理IO型任务的时候才有优势,计算型任务没有什么不同。
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
確認程式碼沒有弄錯嗎,怎麼感覺multiprocess的那裡計算了兩次......
多進程是在多個進程中,一個進程的阻塞並不會影響到其他進程。例如在一個進程中進行大量的計算操作,並不會對其他進程產生較大影響。
協程就是在一個執行緒中,如果協程中一個任務發生阻塞,其餘任務也會受到影響。比方說在一個任務中,進行大量的運算操作,那麼這個任務將會阻塞其餘的任務。
所以協程不適合處理運算密集的任務,而適合處理IO密集型的任務,因為攜程配合異步IO,就可以在不阻塞進程情況下,又能獲得同步編程的快感。
確認程式碼沒有弄錯嗎,怎麼感覺multiprocess的那裡計算了兩次......
多進程是在多個進程中,一個進程的阻塞並不會影響到其他進程。例如在一個進程中進行大量的計算操作,並不會對其他進程產生較大影響。
協程就是在一個執行緒中,如果協程中一個任務發生阻塞,其餘任務也會受到影響。比方說在一個任務中,進行大量的運算操作,那麼這個任務將會阻塞其餘的任務。
所以協程不適合處理運算密集的任務,而適合處理IO密集型的任務,因為攜程配合異步IO,就可以在不阻塞進程情況下,又能獲得同步編程的快感。