實(shí)例講解python中的協(xié)程
python協(xié)程
線程和進(jìn)程的操作是由程序觸發(fā)系統(tǒng)接口,最后的執(zhí)行者是系統(tǒng);協(xié)程的操作則是程序員。
協(xié)程存在的意義:對(duì)于多線程應(yīng)用,CPU通過(guò)切片的方式來(lái)切換線程間的執(zhí)行,線程切換時(shí)需要耗時(shí)(保存狀態(tài),下次繼續(xù))。協(xié)程,則只使用一個(gè)線程,在一個(gè)線程中規(guī)定某個(gè)代碼塊執(zhí)行順序。
協(xié)程的適用場(chǎng)景:當(dāng)程序中存在大量不需要CPU的操作時(shí)(IO),適用于協(xié)程;
event loop是協(xié)程執(zhí)行的控制點(diǎn), 如果你希望執(zhí)行協(xié)程, 就需要用到它們。
event loop提供了如下的特性:
注冊(cè)、執(zhí)行、取消延時(shí)調(diào)用(異步函數(shù))
創(chuàng)建用于通信的client和server協(xié)議(工具)
創(chuàng)建和別的程序通信的子進(jìn)程和協(xié)議(工具)
把函數(shù)調(diào)用送入線程池中
下面我們來(lái)舉個(gè)例子:
協(xié)程實(shí)例
import asyncio
asyncdef cor1():
print("COR1 start")
await
cor2()
print("COR1 end")
asyncdef cor2():
print("COR2")
loop = asyncio.get_event_loop()
loop.run_until_complete(cor1())
loop.close()
最后三行是重點(diǎn)。
asyncio.get_event_loop() : asyncio啟動(dòng)默認(rèn)的event loop
run_until_complete() : 這個(gè)函數(shù)是阻塞執(zhí)行的,知道所有的異步函數(shù)執(zhí)行完成,
close() : 關(guān)閉event loop。
以上就是本篇文章所講述的所有內(nèi)容,這篇文章主要介紹了python協(xié)程的相關(guān)知識(shí),希望你能借助資料從而理解上述所說(shuō)的內(nèi)容。希望我在這片文章所講述的內(nèi)容能夠?qū)δ阌兴鶐椭?,讓你學(xué)習(xí)python更加輕松。
相關(guān)文章
Python實(shí)現(xiàn)機(jī)器學(xué)習(xí)算法的分類
今天給大家整理了Python實(shí)現(xiàn)機(jī)器學(xué)習(xí)算法的分類的文章,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)的小伙伴們很有幫助,需要的朋友可以參考下2021-06-06
Python實(shí)現(xiàn)i人事自動(dòng)打卡的示例代碼
這篇文章主要介紹了Python實(shí)現(xiàn)i人事自動(dòng)打卡的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
Django imgareaselect手動(dòng)剪切頭像實(shí)現(xiàn)方法
這篇文章主要介紹了Django imgareaselect手動(dòng)剪切頭像實(shí)現(xiàn)方法,實(shí)例分析了Django框架操作圖片的相關(guān)技巧,需要的朋友可以參考下2015-05-05
python實(shí)現(xiàn)拉普拉斯特征圖降維示例
今天小編就為大家分享一篇python實(shí)現(xiàn)拉普拉斯特征圖降維示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
python各類經(jīng)緯度轉(zhuǎn)換的實(shí)例代碼
這篇文章主要介紹了python各類經(jīng)緯度轉(zhuǎn)換的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
Python自動(dòng)化辦公之生成PDF報(bào)告詳解
因?yàn)楣ぷ餍枰?jīng)常需要生成很多的PDF報(bào)告給客戶查看產(chǎn)品效果以及過(guò)程的講解,每次都需要按照一定的格式的編寫文檔并生成PDF報(bào)告,這樣重復(fù)性的工作實(shí)在太累。本文就來(lái)用Python實(shí)現(xiàn)自動(dòng)生成PDF報(bào)告吧2023-03-03
Python基礎(chǔ)之字符串常見操作經(jīng)典實(shí)例詳解
這篇文章主要介紹了Python基礎(chǔ)之字符串常見操作,結(jié)合實(shí)例形式詳細(xì)分析了Python字符串操作基本函數(shù)、功能、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2020-02-02

