二十五、深入Python中的协程
生活随笔
收集整理的這篇文章主要介紹了
二十五、深入Python中的协程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
@Author: Runsen
一說并發,你肯定想到了多線程+進程模型,確實,多線程+進程,正是解決并發問題的經典模型之一。但對于多核CPU,利用多進程+協程的方式,能充分利用CPU,獲得極高的性能。協程也是實現并發編程的一種方式。
協程
協程:是單線程下的并發,又稱微線程。英文名是Coroutine。它和線程一樣可以調度,但是不同的是線程的啟動和調度需要通過操作系統來處理。
協程是一種比線程更加輕量級的存在,最重要的是,協程不被操作系統內核管理,協程是完全由程序控制的。
運行效率極高,協程的切換完全由程序控制,不像線程切換需要花費操作系統的開銷,線程數量越多,協程的優勢就越明顯。
協程不需要多線程的鎖機制,因為只有一個線程,不存在變量沖突。
對于多核CPU,利用多進程+協程的方式,能充分利用CPU,獲得極高的性能。
注意協程這個概念完全是程序員自己想出來的東西,它對于操作系統來說根本不存在。操作系統只有進程和線程。
Python中使用協程的例子
yield關鍵字相當于是暫停功能,程序運行到yield停止,send函數可以傳參給生成器函數,參數賦值給yield。
總結
以上是生活随笔為你收集整理的二十五、深入Python中的协程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 混合型基金资产规模多大合适 投资还要
- 下一篇: websocket python爬虫_p