最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在python里創(chuàng)建一個(gè)任務(wù)(Task)實(shí)例

 更新時(shí)間:2020年04月25日 15:55:09   作者:caimouse  
這篇文章主要介紹了在python里創(chuàng)建一個(gè)任務(wù)(Task)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

與事件循環(huán)進(jìn)行交互,最基本的方式就是任務(wù),任務(wù)封裝了協(xié)程和自動(dòng)跟蹤它的狀態(tài)。任務(wù)是Future類的子類,所以其它協(xié)程可以等待任務(wù)完成,或當(dāng)這些任務(wù)完成獲取返回結(jié)果。

在這里通過(guò)create_task()函數(shù)來(lái)創(chuàng)建一個(gè)任務(wù)實(shí)例,然后事件循環(huán)就運(yùn)行這個(gè)任務(wù),直到這個(gè)任務(wù)返回為止:

import asyncio
 
async def task_func():
  print('in task_func')
  return 'the result'
 
async def main(loop):
  print('creating task')
  task = loop.create_task(task_func())
  print('waiting for {!r}'.format(task))
  return_value = await task
  print('task completed {!r}'.format(task))
  print('return value: {!r}'.format(return_value))
 
event_loop = asyncio.get_event_loop()
try:
  event_loop.run_until_complete(main(event_loop))
finally:
  event_loop.close()

結(jié)果輸出如下:

creating task
waiting for <Task pending coro=<task_func() running at D:\work\csdn\python_Game1\example\asyncio_create_task.py:4>>
in task_func
task completed <Task finished coro=<task_func() done, defined at D:\work\csdn\python_Game1\example\asyncio_create_task.py:4> result='the result'>
return value: 'the result'

補(bǔ)充知識(shí):python里創(chuàng)建任務(wù)執(zhí)行一半時(shí)取消任務(wù)執(zhí)行

下例子來(lái)演示創(chuàng)建任務(wù)執(zhí)行一半時(shí)取消任務(wù)執(zhí)行,這時(shí)會(huì)拋出異常CancelledError,同時(shí)也提供了一個(gè)機(jī)會(huì)來(lái)刪除占用資源等等:

import asyncio
 
async def task_func():
  print('in task_func, sleeping')
  try:
    await asyncio.sleep(1)
  except asyncio.CancelledError:
    print('task_func was canceled')
    raise
  return 'the result'
 
def task_canceller(t):
  print('in task_canceller')
  t.cancel()
  print('canceled the task')
 
async def main(loop):
  print('creating task')
  task = loop.create_task(task_func())
  loop.call_soon(task_canceller, task)
  try:
    await task
  except asyncio.CancelledError:
    print('main() also sees task as canceled')
 
event_loop = asyncio.get_event_loop()
try:
  event_loop.run_until_complete(main(event_loop))
finally:
  event_loop.close()

結(jié)果輸出如下:

creating task
in task_func, sleeping
in task_canceller
canceled the task
task_func was canceled
main() also sees task as canceled

以上這篇在python里創(chuàng)建一個(gè)任務(wù)(Task)實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python異步通信模塊asyncore解讀

    Python異步通信模塊asyncore解讀

    這篇文章主要介紹了Python異步通信模塊asyncore的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • python字典取值的幾種方法總結(jié)

    python字典取值的幾種方法總結(jié)

    這篇文章主要介紹了python字典取值的幾種方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 詳解Python操作Excel之openpyxl

    詳解Python操作Excel之openpyxl

    這篇文章主要為大家介紹了Python操作Excel的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • python讀取指定字節(jié)長(zhǎng)度的文本方法

    python讀取指定字節(jié)長(zhǎng)度的文本方法

    今天小編就為大家分享一篇python讀取指定字節(jié)長(zhǎng)度的文本方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Python上下文管理器深入講解

    Python上下文管理器深入講解

    Python有三大神器,一個(gè)是裝飾器,一個(gè)是迭代器、生成器,最后一個(gè)就是今天文章的主角 -- 「上下文管理器」。上下文管理器在日常開發(fā)中的作用是非常大的,可能有些人用到了也沒(méi)有意識(shí)到這一點(diǎn)
    2022-12-12
  • 詳解python selenium 爬取網(wǎng)易云音樂(lè)歌單名

    詳解python selenium 爬取網(wǎng)易云音樂(lè)歌單名

    這篇文章主要介紹了python selenium爬取網(wǎng)易云音樂(lè)歌單名,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Python列表append()函數(shù)使用方法詳解

    Python列表append()函數(shù)使用方法詳解

    python中的append()函數(shù)是在列表末尾添加新的對(duì)象,且將添加的對(duì)象最為一個(gè)整體,下面這篇文章主要給大家介紹了關(guān)于Python列表append()函數(shù)使用方法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • python matplotlib庫(kù)的基本使用

    python matplotlib庫(kù)的基本使用

    這篇文章主要介紹了python matplotlib庫(kù)的基本使用,幫助大家繪制圖表,進(jìn)行數(shù)據(jù)可視化分析,感興趣的朋友可以了解下
    2020-09-09
  • Django框架models使用group by詳解

    Django框架models使用group by詳解

    這篇文章主要介紹了Django框架models使用group by詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • python中正則表達(dá)式?: ?= ?! 的用法

    python中正則表達(dá)式?: ?= ?! 的用法

    正則表達(dá)式中使用的??:、?=?和??!?是三種不同的正則表達(dá)式語(yǔ)法,它們分別代表非捕獲組、正向前瞻斷言和負(fù)向前瞻斷言,下面就來(lái)介紹一下這三種的方法,感興趣的可以了解一下
    2025-04-04

最新評(píng)論

西峡县| 伊宁市| 莲花县| 巴彦淖尔市| 新绛县| 自贡市| 青川县| 株洲县| 揭阳市| 玉山县| 新泰市| 庐江县| 佳木斯市| 德安县| 丹阳市| 赤峰市| 萨嘎县| 白水县| 永德县| 思南县| 安化县| 陈巴尔虎旗| 普兰店市| 鸡泽县| 威远县| 南和县| 鄢陵县| 潮州市| 瓦房店市| 城步| 健康| 大渡口区| 南昌县| 白水县| 西乌珠穆沁旗| 大关县| 徐水县| 曲阜市| 永平县| 高邑县| 交城县|