当前位置: 首页 > wzjs >正文

成品网站灬源码1688百度产品

成品网站灬源码1688,百度产品,施工企业资质增项,狗爹域名注册理解 Python 中的 asyncio 模块 理解 Python 中的 asyncio 模块协程和任务 理解 Python 中的 asyncio 模块 asyncio 模块在 Python 3.5 或以后的版本中可用,可以用来使用 async/await 写并发程序。在实践中,通常是使用 Python 3.7 或以后的版本创建严格…

理解 Python 中的 `asyncio` 模块

  • 理解 Python 中的 `asyncio` 模块
      • 协程和任务

理解 Python 中的 asyncio 模块

asyncio 模块在 Python 3.5 或以后的版本中可用,可以用来使用 async/await 写并发程序。在实践中,通常是使用 Python 3.7 或以后的版本创建严格意义上的 asyncio 程序。asyncio 模块的特性非常丰富,支持创建程运行 Python 协程、执行网络输入/输出、分发任务到队列,和并发代码的同步。

协程和任务

协程是一种函数,可以异步执行。下面是一个简单的例子,它使用协程向控制台输出字符串:

import asyncio
import timeasync def say(delay, msg):await asyncio.sleep(delay)print(msg)print("启动时间:", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
asyncio.run(say(1, "早"))
asyncio.run(say(2, "上"))
asyncio.run(say(3, "好"))
print("结束时间:", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

上面代码的输出结果是:

启动时间: 2025-03-05 16:21:49
早
上
好
结束时间: 2025-03-05 16:21:55

可以看到正好用了 6 秒执行完毕。

在上面的例子中,非常重要的点是:

  • 协程任务使用 delaymsg 实参。delay 实参用来在输出 msg 到控制台之前延迟一段时间;
  • 我们使用 asyncio.sleep 函数,而不是原始的 time.sleep 函数。如果使用了time.sleep 函数,控制权不会被交还给事件循环。这就是为什么要使用 asyncio.sleep 函数;
  • 通过 asynciorun 方法,我们使用三个不同的值,执行了三次协程。run 方法不会并发执行协程

如果需要并行执行协程,我们可以使用 asyncio 模块中的 create_task 方法。这个函数创建一个任务,这个任务可以用来调度协程并发运行。

下面的示例代码是上面的示例代码的修订版本。我们在其中把协程(在这个例子中是 say)包装到了一个由 create_task创建的任务中。在这上修订版中,我们创建了三个任务,用来包装 say 协程。我们使用 await 函数等待这三个任务执行完毕。下面是完整的代码:

import asyncio
import timeasync def say(delay, msg):await asyncio.sleep(delay)print(msg)async def main():print("启动时间:", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))task1 = asyncio.create_task(say(1, "早"))task2 = asyncio.create_task(say(2, "上"))task3 = asyncio.create_task(say(3, "好"))await task1await task2await task3print("结束时间:", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))asyncio.run(main())

上面代码的输出结果是:

启动时间: 2025-03-05 16:37:24
早
上
好
结束时间: 2025-03-05 16:37:27

可以从输出结果中看到,三个任务执行完毕,只用了 3 秒时间,而不是和第一个例子一样用时 6 秒。

<完>

http://www.dtcms.com/wzjs/203476.html

相关文章:

  • dede减肥网站模板关键词挖掘长尾词工具
  • 少儿类网站怎么做淘宝推广运营
  • 无锡哪里做网站ping站长工具
  • 生活分类网站建设百度一下你就知道
  • 网站建设日程表图片seo代做
  • 百万级别wordpressseo 页面
  • lol做视频那个网站好长沙岳麓区
  • 郑州最好的网站建设关键词分析软件
  • 唐河做网站国家市场监管总局
  • 代理公司注册网培训机构优化
  • 为什么网站不建议做充值功能外链发布论坛
  • 做解析会员电影的网站公司网页
  • 客户说做网站价格高商业软文
  • 个人社保缴费比例seo网站推广与优化方案
  • 做电子章网站长沙seo全网营销
  • 昆明网站制作公司哪家靠谱新闻20条摘抄大全
  • 温州做网站哪家公司最好素材网
  • 做零食的网站有哪些seo网站查询工具
  • 一个门户网站多少钱关键词优化报价
  • 网站毕业设计开题报告竞价排名推广
  • 企业自助建站程序网站服务费一年多少钱
  • 党中央支部建设网站首页品牌公关
  • 常德网站建设网站torrentkitty磁力官网
  • 现在还有企业做网站的吗seo课程心得体会
  • 广州专业建站百度引流推广哪家好
  • 网站电子签名怎么做磁力链最好用的搜索引擎
  • publisher做的网站如何获得url百度账号注册
  • 旅游景区网站建设的意义江苏泰州seo网络优化推广
  • 小城市企业网站建设网络搜索词排名
  • 做网站廊坊营销软件商城