国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 兴海县| 通道| 庆阳市| 外汇| 余江县| 行唐县| 扶余县| 堆龙德庆县| 龙岩市| 河西区| 迁安市| 天长市| 河间市| 卓资县| 霍林郭勒市| 湘西| 天峻县| 宾阳县| 桂林市| 轮台县| 忻城县| 丹阳市| 广昌县| 河源市| 嘉义市| 凤阳县| 克东县| 乐山市| 会昌县| 迁安市| 谢通门县| 惠州市| 焦作市| 吐鲁番市| 武平县| 通渭县| 左权县| 巫山县| 铜梁县| 乌恰县| 隆化县|