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

首頁(yè) > 編程 > Python > 正文

實(shí)例講解python中的協(xié)程

2020-02-15 23:07:14
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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更加輕松。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 北安市| 宾阳县| 祁连县| 白河县| 佛冈县| 荔浦县| 玛沁县| 美姑县| 裕民县| 恩施市| 城步| 长治县| 晴隆县| 达州市| 寻甸| 宿迁市| 峡江县| 霍山县| 永康市| 前郭尔| 博爱县| 铜鼓县| 淄博市| 吉林省| 刚察县| 太谷县| 华坪县| 兰西县| 镇远县| 阳城县| 五台县| 西乌珠穆沁旗| 唐海县| 象山县| 桑日县| 娄底市| 台州市| 伊川县| 民丰县| 临城县| 开封市|