asyncio.create_task,asyncio task

  asyncio.create_task,asyncio task

  本文主要详细介绍asyncio异步编程的任务对象。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下,希望能帮到你。

  00-1010 1.任务对象2的功能。如何创建任务对象3。例1(目前不推荐这种写法)4。例25。实施例3的概述(上述实施例2的简化版本)

  

目录

 

  可以在事件循环中添加多个任务,达到多任务并发的效果。

  

1.Task对象的作用

 

  Asyncio.create_task(协作对象)

  注意: create _ task只能在python3.7版及更高版本中使用,就像asyncio.run()一样。

  在3.7之前,可以使用asyncio.guarantee _ future()创建任务对象。

  

2.如何创建task对象

 

  异步定义函数():

  打印(1)

  等待睡眠(2)

  打印(2)

  返回“测试”

  异步定义主():

  打印(“主开始”)

  如何写# python 3.7及以上

  # task 1=asyncio . create _ task(func())

  # task 2=asyncio . create _ task(func())

  #编写于Python 3.7之前

  task 1=asyn CIO . assure _ future(func())

  task 2=asyncio . assure _ future(func())

  打印(“主要结束”)

  ret1=等待任务1

  ret2=等待任务2

  打印(返回1,返回2)

  Python 3.7之后的写作

  # asyncio.run(main())

  #编写于Python 3.7之前

  loop=asyncio.get_event_loop()

  loop.run_until_complete(main())

  创建任务时,会将创建的任务添加到时间循环中,因此在创建任务之前必须有时间循环,否则会报告错误。

  

3.示例一(目前不推荐这种写法)

 

  异步定义函数1():

  打印(1111)

  等待睡眠(2)

  打印(2222)

  返回“测试”

  异步定义维护1():

  打印(“主开始”)

  任务=[

  asyncio . assure _ future(func 1()),

  asyncio . assure _ future(func 1())

  ]

  打印(“主要结束”)

  #成功执行后,结果是in done,可以添加第二个参数timeout来等待。如果在超时内没有完成,那么pending就是未完成的事情。

  done,pending=await asyncio . wait(tasks,timeout=1)

  打印(完成)

  #打印(待定)

  #编写于Python 3.7之前

  loop=asyncio.get_event_loop()

  loop.run_until_complete(main1())

  

4.示例2

 

  第二种方法的简化版是不在任务中直接添加任务,而是先将协同对象添加到列表中,在最后一次运行时添加。

  异步定义函数2():

  打印(1111)

  等待睡眠(2)

  打印(2222)

  返回“测试”

  任务=[

  func2(),

  函数2()

  ]

  #编写于Python 3.7之前

  loop=asyncio.get_event_loop()

  done,pending=loop . run _ until _ complete(asyncio . wait(tasks))

  打印(完成)

  打印(待定)

  

5.示例3(算是以上示例2的简化版)

 

  本文到此为止。希望能帮到你,也希望你能多关注更多热门IT软件开发工作室的内容!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: