欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2018年10月08日 11:31:53   投稿:laozhang  
在本篇文章里我們給大家通過(guò)實(shí)例講述一下關(guān)于python中的協(xié)程相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們可以參考下。

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ū)δ阌兴鶐椭屇銓W(xué)習(xí)python更加輕松。

相關(guān)文章

  • 使用Python實(shí)現(xiàn)簡(jiǎn)單的服務(wù)器功能

    使用Python實(shí)現(xiàn)簡(jiǎn)單的服務(wù)器功能

    socket的使用并不局限于Python語(yǔ)言,你可以用C或者Java來(lái)寫出同樣的socket服務(wù)器,而所有語(yǔ)言使用socket的方式都類似(Apache就是使用C實(shí)現(xiàn)的服務(wù)器)
    2017-08-08
  • Python 類與元類的深度挖掘 II【經(jīng)驗(yàn)】

    Python 類與元類的深度挖掘 II【經(jīng)驗(yàn)】

    元類在 Python 中屬于比較深層的黑魔法,在一般的日常應(yīng)用中可能并不常用,但理解其背后的原理對(duì)于理解 Python 面向?qū)ο缶幊桃约耙磺薪詾閷?duì)象的理念很有幫助;如果你需要對(duì)類進(jìn)行深度改造,至少要知道從何入手。
    2016-05-05
  • Python Django獲取URL中的數(shù)據(jù)詳解

    Python Django獲取URL中的數(shù)據(jù)詳解

    這篇文章主要介紹了Python Django獲取URL中的數(shù)據(jù)詳解,小編覺(jué)得挺不錯(cuò)的,這里分享給大家,供需要的朋友參考
    2021-11-11
  • Python實(shí)現(xiàn)對(duì)比兩個(gè)Excel數(shù)據(jù)內(nèi)容并標(biāo)記出不同

    Python實(shí)現(xiàn)對(duì)比兩個(gè)Excel數(shù)據(jù)內(nèi)容并標(biāo)記出不同

    日常工作中需要對(duì)比兩個(gè)Excel工作表中的數(shù)據(jù)差異是很不方便的,使用python來(lái)做就比較簡(jiǎn)單了!本文為大家介紹了python實(shí)現(xiàn)對(duì)比兩個(gè)Excel的數(shù)據(jù)內(nèi)容并標(biāo)記出不同數(shù)據(jù)的示例代碼,需要的可以參考一下
    2022-12-12
  • python創(chuàng)建文本文件的簡(jiǎn)單方法

    python創(chuàng)建文本文件的簡(jiǎn)單方法

    在本篇內(nèi)容里小編給大家整理分享的是一篇關(guān)于python創(chuàng)建文本文件的簡(jiǎn)單方法,有需要的朋友們可以參考學(xué)習(xí)下。
    2020-08-08
  • Python超詳細(xì)講解內(nèi)存管理機(jī)制

    Python超詳細(xì)講解內(nèi)存管理機(jī)制

    本章主要介紹Pyhon的內(nèi)存管理,以Pyhon的計(jì)數(shù)機(jī)制作為引入,介紹Pyhon的內(nèi)存管理方式,感興趣的朋友來(lái)看看吧
    2022-06-06
  • 詳解Python?AdaBoost算法的實(shí)現(xiàn)

    詳解Python?AdaBoost算法的實(shí)現(xiàn)

    Boosting是機(jī)器學(xué)習(xí)的三大框架之一。Boost也被稱為增強(qiáng)學(xué)習(xí)或提升法,其中典型的代表算法是AdaBoost算法。本文介紹了AdaBoost算法及python實(shí)現(xiàn),感興趣的可以學(xué)習(xí)一下
    2022-10-10
  • PyQt實(shí)現(xiàn)計(jì)數(shù)器的方法示例

    PyQt實(shí)現(xiàn)計(jì)數(shù)器的方法示例

    這篇文章主要介紹了PyQt實(shí)現(xiàn)計(jì)數(shù)器的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • NumPy數(shù)組復(fù)制與視圖詳解

    NumPy數(shù)組復(fù)制與視圖詳解

    NumPy 數(shù)組的復(fù)制和視圖是兩種不同的方式來(lái)創(chuàng)建新數(shù)組,它們之間存在著重要的區(qū)別,本文將給大家詳細(xì)介紹一下NumPy數(shù)組復(fù)制與視圖,并通過(guò)代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • keras的backend 設(shè)置 tensorflow,theano操作

    keras的backend 設(shè)置 tensorflow,theano操作

    這篇文章主要介紹了keras的backend 設(shè)置 tensorflow,theano操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06

最新評(píng)論