協(xié)程和線程的區(qū)別 協(xié)程和異步有什么區(qū)別?
協(xié)程和異步有什么區(qū)別?協(xié)同程序只是異步的一種實(shí)現(xiàn)。它也可以通過(guò)回調(diào)、定時(shí)器、語(yǔ)言特性等來(lái)實(shí)現(xiàn)。它不一定是一個(gè)協(xié)程必須為協(xié)程分配額外的內(nèi)存才能保持協(xié)程的中間狀態(tài)值,但是你不需要定期調(diào)用它Python多線
協(xié)程和異步有什么區(qū)別?
協(xié)同程序只是異步的一種實(shí)現(xiàn)。它也可以通過(guò)回調(diào)、定時(shí)器、語(yǔ)言特性等來(lái)實(shí)現(xiàn)。它不一定是一個(gè)協(xié)程
必須為協(xié)程分配額外的內(nèi)存才能保持協(xié)程的中間狀態(tài)值,但是你不需要定期調(diào)用它
Python多線程不能有效,因?yàn)橛幸粋€(gè)Gil鎖,執(zhí)行不能同時(shí)進(jìn)行。
排除一個(gè),留下異步進(jìn)程。效率的高低取決于計(jì)算密集型任務(wù)和進(jìn)程間通信的頻率。
還要記住,單個(gè)進(jìn)程是異步的,只有一個(gè)核心在滿負(fù)荷工作,而多進(jìn)程可以利用多核功能。
最后,可以混合使用多處理和異步。這種結(jié)構(gòu)與go有點(diǎn)類(lèi)似,可能是最有效的組合。