python在协程中增加任务

来源:千锋教育
发布时间:2023-11-13 16:30:58
分享

python在协程中增加任务

1、添加一个任务

task2=visit_url('http://another.com',3)

asynicio.run(task2)

2、这2个程序一共消耗5s左右的时间。并没有发挥并发编程的优势

importasyncio

importtime

asyncdefvisit_url(url,response_time):

"""访问url"""

awaitasyncio.sleep(response_time)

returnf"访问{url},已得到返回结果"

asyncdefrun_task():

"""收集子任务"""

task=visit_url('http://wangzhen.com',2)

task_2=visit_url('http://another',3)

awaitasyncio.run(task)

awaitasyncio.run(task_2)

asyncio.run(run_task())

print(f"消耗时间:{time.perf_counter()-start_time}")

3、如果是并发编程,这个程序只需要消耗3s,也就是task2的等待时间。要想使用并发编程形式,需要把上面的代码改一下。asyncio.gather会创建2个子任务,当出现await的时候,程序会在这2个子任务之间进行调度。

asyncdefrun_task():

"""收集子任务"""

task=visit_url('http://wangzhen.com',2)

task_2=visit_url('http://another',3)

awaitasynicio.gather(task1,task2)

以上就是python在协程中增加任务的方法,希望能对大家有所帮助。更多Python学习教程请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • python如何使用__iter__()展现外部状态 python如何使用__iter__()展现外部状态(推荐操作系统:windows7系统、Python3.9.1、DELLG3电脑。)1、如果你想让你的生成器暴露外部状态给用户,别忘了你可以简单的将它
  • python生成器如何进行解析 python生成器如何进行解析(推荐操作系统:windows7系统、Python3.9.1、DELLG3电脑。)1、说明生成器解析其实就是列表解析的扩展,当我们明确需要使用小标访问的时候,使用列表解析
  • python生成器调用方法引发异常 python生成器调用方法引发异常(推荐操作系统:windows7系统、Python3.9.1、DELLG3电脑。)注意,在生成器已经执行时调用下面的任何生成器方法会引发ValueError异常。1、
  • pythonyield的使用注意 python中yield的使用注意(推荐操作系统:windows7系统、Python3.9.1、DELLG3电脑。)1、说明一旦在函数中使用了yield,它就变成了生成函数。但yield不能和retu
  • python生成器函数的特点 python生成器函数的特点(推荐操作系统:windows7系统、Python3.9.1、DELLG3电脑。)1、特点生成器函数执行时不执行函数体next生成器时,从现在的代码到之后的第一个yield
  • python异常处理的流程是什么? python异常处理的流程是什么?(推荐操作系统:windows7系统、Python3.9.1、DELLG3电脑。)1、过程执行try下面的语句。发生异常时,在except语句中寻找对应异常病进行处理