進(jìn)程通信的三種方式 python判斷任務(wù)是CPU密集型還是IO密集型?
python判斷任務(wù)是CPU密集型還是IO密集型?多線程用于io密集型場景,但它不能利用多核CPU。多進(jìn)程適用于CPU密集型,當(dāng)然IO密集型可以容納,可以發(fā)揮多核的優(yōu)勢。進(jìn)程池是具有n個(gè)進(jìn)程的池。當(dāng)您
python判斷任務(wù)是CPU密集型還是IO密集型?
多線程用于io密集型場景,但它不能利用多核CPU。
多進(jìn)程適用于CPU密集型,當(dāng)然IO密集型可以容納,可以發(fā)揮多核的優(yōu)勢。
進(jìn)程池是具有n個(gè)進(jìn)程的池。當(dāng)您向池提交任務(wù)(例如python函數(shù))時(shí),它將幫助您在池中查找空閑進(jìn)程。
您可以選擇異步或同步執(zhí)行。不同之處在于,當(dāng)任務(wù)仍在執(zhí)行時(shí),會立即異步地將功能對象返回給您。您可以查詢對象是否已按間隔完成,也可以直接調(diào)用result等待任務(wù)同步完成。同步是等待任務(wù)結(jié)束。在這期間,它會阻塞,不能做任何其他事情。