国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

實例講解python中的協程

2020-01-04 14:24:58
字體:
來源:轉載
供稿:網友

python協程

線程和進程的操作是由程序觸發系統接口,最后的執行者是系統;協程的操作則是程序員。

協程存在的意義:對于多線程應用,CPU通過切片的方式來切換線程間的執行,線程切換時需要耗時(保存狀態,下次繼續)。協程,則只使用一個線程,在一個線程中規定某個代碼塊執行順序。

協程的適用場景:當程序中存在大量不需要CPU的操作時(IO),適用于協程;

event loop是協程執行的控制點, 如果你希望執行協程, 就需要用到它們。

event loop提供了如下的特性:

注冊、執行、取消延時調用(異步函數)

創建用于通信的client和server協議(工具)

創建和別的程序通信的子進程和協議(工具)

把函數調用送入線程池中

下面我們來舉個例子:

協程實例

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()

最后三行是重點。

asyncio.get_event_loop() : asyncio啟動默認的event loop

run_until_complete() : 這個函數是阻塞執行的,知道所有的異步函數執行完成,

close() : 關閉event loop。

以上就是本篇文章所講述的所有內容,這篇文章主要介紹了python協程的相關知識,希望你能借助資料從而理解上述所說的內容。希望我在這片文章所講述的內容能夠對你有所幫助,讓你學習python更加輕松。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 班戈县| 望奎县| 合江县| 怀宁县| 七台河市| 邛崃市| 凌海市| 天长市| 兴仁县| 山东| 方城县| 错那县| 甘肃省| 临猗县| 西贡区| 和政县| 会宁县| 高雄县| 礼泉县| 响水县| 镇安县| 峨山| 齐河县| 分宜县| 尚志市| 阿鲁科尔沁旗| 榆中县| 吉林省| 黎川县| 汉中市| 林口县| 普洱| 德州市| 西和县| 阳新县| 西和县| 青河县| 弋阳县| 巴中市| 微博| 兴化市|