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

ios wordpress连接站点龙岗商城网站建设

ios wordpress连接站点,龙岗商城网站建设,建设网站的技术方案,php毕业设计二手网站怎么做【51CTO.com快译】Python的异步编程功能(简称async)让你可以编写不必等待独立任务完成就可以完成更多工作的程序。Python附带的asyncio库为你提供了使用async处理磁盘或网络I/O、无需其他方面等待的工具。 asyncio提供了两种处理异步操作的API#xff1a;高级和低级。高级API用… 【51CTO.com快译】Python的异步编程功能(简称async)让你可以编写不必等待独立任务完成就可以完成更多工作的程序。Python附带的asyncio库为你提供了使用async处理磁盘或网络I/O、无需其他方面等待的工具。 asyncio提供了两种处理异步操作的API高级和低级。高级API用途广泛适用于各种应用程序。低级API功能强大但也很复杂使用频率较低。 本文重点介绍高级API。我们会逐步介绍asyncio中常用的高级API说明它们如何可用于涉及异步任务的常见操作。 在Python中运行协程和任务 很自然asyncio最常见的用途是运行Python脚本的异步部分。这意味着学会使用协程和任务。 Python的异步组件(包括协程和任务)只能与其他异步组件一起使用不能与常规的同步Python一起使用因此需要asyncio来填补缺口。为此你要使用asyncio.run函数 import asyncio async def main(): print (Waiting 5 seconds. ) for_inrange(5): await asyncio.sleep(1) print (.) print (Finished waiting.) asyncio.run(main()) 这运行main()连同main()触发的任何例程等待结果返回。 通常而言Python程序应只有一个.run()语句就像Python程序应只有一个main()函数一样。 如果不小心使用async可能会使程序的控制流难以阅读。程序的异步代码只有一个入口点可以避免情况变得繁复。 异步函数还可以调度安排成tasks即包装协程并帮助运行协和的对象。 async def my_task(): do_something() task asyncio.create_task(my_task()) my_task()随后在事件循环中运行结果存储在task中。 如果你只有一个任务想要获取结果可以使用asyncio.wait_for(task)来等待任务完成然后使用task.result()检索结果。但如果你安排了许多任务要执行并想要等待所有任务完成不妨使用asyncio.wait([task1, task2])收集结果。(注意如果你不希望超过一定长度的时间后运行可以设置操作的超时时间。) 在Python中管理异步事件循环 asyncio的另一个常见用途是管理异步事件循环。事件循环是运行异步函数和回调的对象。使用asyncio.run()时它自动创建。你通常希望每个程序仅使用一个异步事件循环同样以便管理。 如果你在编写服务器等更高级的软件需要对事件循环拥有较低级别的访问权。为此你可以“揭开面纱”直接接触事件循环的内部机制。不过如果是简单的工作不需要这么做。 在Python中使用streams读写数据 async的最佳使用场景是长时间运行的网络操作其中应用程序可能阻止等待其他某个资源返回结果。为此asyncio提供了streams这是用于执行网络I/O的高级机制。这包括充当网络请求的服务器。 asyncio使用两个类StreamReader和StreamWriter在高级层面进行网络读写。如果你要从网络读取可以使用asyncio.open_connection()打开连接。该函数返回StreamReader对象和StreamWriter对象的元组你要在每个对象上使用.read() 和.write()方法以便通信。 想接收来自远程主机的连接使用asyncio.start_server()。asyncio.start_server()函数将回调函数client_connected_cb作为参数来接受只要收到请求就调用该函数。该回调函数将StreamReader和StreamWriter的实例作为参数那样你就能处理服务器的读/写逻辑。这个例子(https://gist.github.com/ethanfrey/75e58db27095936b9e5e)介绍了一个简单的HTTP服务器使用asyncio驱动的aiohttp库。 在Python中同步任务 异步任务往往独立运行但有时你希望它们彼此通信。asyncio提供了队列和另外几种在任务之间进行同步的机制 队列asyncio队列允许异步函数排列Python对象以便供其他异步函数使用——比如说基于行为在不同类型的函数之间分配工作负载。 同步原语asyncio中的锁、事件、条件和信号其工作方式类似常规的Python锁、事件、条件和信号。 关于所有这些方法要记住的一点是它们不是线程安全的。对于在同一事件循环中运行的异步任务来说这不是问题。但如果你试图与不同事件循环、操作系统线程或进程中的任务共享信息就需要使用threading模块及其对象来执行此操作。 此外如果你想跨线程边界启动协程请使用asyncio.run_coroutine_threadsafe()函数然后将与它结合使用的事件循环作为参数传递。 在Python中暂停协程 asyncio的另一个常见、但很少讨论的用途是在协程内部等待任意时长。为此你不能使用time.sleep()否则会阻塞整个程序。而是应使用asyncio.sleep()它允许其他协程继续运行。 在Python中使用较低级别的async 最后如果你认为构建的应用程序可能需要asyncio的较低级组件在开始编程之前先考虑一番很可能有人已经构建了可以满足你需求的基于async的Python库。 比如说如果你需要异步DNS查询不妨查看aiodns库;若是异步SSH会话则有asyncSSH。通过关键字“async”(以及其他与任务相关的关键字)搜索PyPI或查看人工筛选的Awesome Asyncio列表(https://github.com/timofurrer/awesome-asyncio)以获取灵感。 原文标题How to use asyncio in Python作者Serdar Yegulalp 【51CTO译稿合作站点转载请注明原文译者和出处为51CTO.com】 【责任编辑庞桂玉 TEL01068476606】 点赞 0
http://www.huolong8.cn/news/190600/

相关文章:

  • 怎么网站排名seo济南精品建站外包公司价格
  • 网站做百度权重排名论坛深圳网站制作公司招聘
  • 温州专业手机网站制作哪家好小程序在线制作平台
  • 网站制作及实现温岭市住房和城乡建设规划局网站
  • 常州市做网站wordpress 作者 英文版
  • 定制版网站建设详细报价单wordpress文章末尾添加相关文章
  • 网站建设方案书备案设计图特价网站建设价格
  • 盐城建设厅网站百度网址浏览大全
  • 展会网站源码google seo 优化教程
  • 十堰网站建设费用网站开发php制作
  • 技术支持-鼎维重庆网站建设专家广告设计是什么
  • 旅游网站设计说明书php微信公众号开发教程
  • 品牌网站建是啥意思合肥网络营销公司
  • 做网站一定要psd吗购物网页设计
  • 做平面设计常用的网站东莞 营销网站制作
  • 赣州制作网站百度2008iis7建立网站
  • 合肥网站推广公司哪家好如何做点击赚钱的网站
  • 韶关城乡建设部网站首页wordpress 自己创建主题
  • 网站营销案例做健康食品的网站
  • 皇马logo做网站网站建设的竞争对手的分析
  • 专业建站公司收费标准北京房屋装修公司哪家好
  • 自己做好网站wordpress 电子书模板
  • 网站 黑白开发公司网签房信息
  • 常州哪家网站建设公司专业低价网站建设制作费用
  • 网站开发技术语言的选择网站收录查询情况
  • 自己做报名网站肇庆网站建设方案
  • 公司网站建设方案报告做个网站一般多少钱
  • 大企业网站建设方案做网站开发数据库怎么写
  • 专业网站建设 公司哪家好上海工商企业查询网
  • 国土局网站建设情况深圳南山网的工作