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

如何找专业的网站建设公司长春中医药大学

如何找专业的网站建设公司,长春中医药大学,青岛李沧网站建设,建设厅国网查询网站I/O 密集型应用程序大大提升系统多任务处理能力#xff1b; 异步 I/O 模型 一个消息循环#xff0c;主线程在消息循环中不断重复 读取消息-处理消息#xff1b; # 获取线程池 loop get_event_loop() while True:# 接收事件消息event loop.get_event()# 处理事件消息pro…I/O 密集型应用程序大大提升系统多任务处理能力 异步 I/O 模型 一个消息循环主线程在消息循环中不断重复 读取消息-处理消息 # 获取线程池 loop get_event_loop() while True:# 接收事件消息event loop.get_event()# 处理事件消息process_event(event)当遇到 I/O 操作代码只会发出 I/O 请求不等待 I/O 结果当本轮消息结束下轮接收消息收到 I/O 完成时处理 I/O 结果 文章目录1. 协程1. 生产者-消费者模型协程版2. asyncio3. async/await4. aiohttp1. 安装2. 示例1. 协程 调度策略由程序员自己编写在用户态完成创建、切换、销毁通过协作而非抢占对内核来说不可见的 用户空间线程 协程的本质是控制流的主动让出yield和恢复resume机制 子程序又叫函数在所有语言都是层级调用通过栈实现一个线程就是执行一个子程序子程序调用总是一个入口一次返回调用顺序明确 CoroutinePython 对协程的支持通过 generator 实现执行时内部可中断转而执行别的子程序再适时返回接着执行类似 CPU 中断 协程没有线程切换抢占式的开销且不存在变量冲突不需要线程锁效率比多线程高 1. 生产者-消费者模型协程版 def consumer():r while True:# 2. 通过 yield 回传 r 给 send 调用# 4. 接收 send 的消息 nn yield rif not n:returnprint(f[CONSUMER] Consuming {n}...)r 200 OKdef produce(c):# 1. 启动生成器c.send(None)n 0while n 5:n 1print(f[PRODUCER] Producing {n}...)# 3. 发送消息 n 返回给 yield# 5. 接收 yield 的结果 rr c.send(n)print(f[PRODUCER] Consumer return: {r})# 6. 关闭生成器c.close()# 消费者 - 生成器对象 c consumer() produce(c)2. asyncio Python 3.4 引入标准库提供了完善的异步 I/O 支持 asyncio的编程模型是一个消息循环首先需要从asyncio获取一个EventLoop的引用然后把执行的协程扔到EventLoop中执行从而实现异步 I/O import asyncio# aysncio.coroutine 把 generator 标记成 coroutine asyncio.coroutine def wget(host):print(wget %s... % host)connect asyncio.open_connection(host, 80)# yield from 调用 connect 生成器并接受 connect 的调用结果# 主线程并未等待 connect 调用而是执行 EventLoop 中其他 coroutinereader, writer yield from connectheader GET / HTTP/1.0\r\nHost: %s\r\n\r\n % hostwriter.write(header.encode(utf-8))yield from writer.drain()while True:line yield from reader.readline()if line b\r\n:breakprint(%s header %s % (host, line.decode(utf-8).rstrip()))# Ignore the body, close the socketwriter.close()loop asyncio.get_event_loop() tasks [wget(host) for host in [www.sina.com.cn, www.sohu.com, www.163.com] ] # 把 coroutine 扔到 EventLoop 中执行 loop.run_until_complete(asyncio.wait(tasks)) loop.close()异步操作在coroutine中通过yield from完成 3. async/await Python 3.5 引入的针对 coroutine 的新语法 async替换 asyncio.coroutineawait替换 yield from 4. aiohttp asyncio实现了TCP、UDP、SSL等协议aiohttp基于asyncio实现了HTTP框架 1. 安装 $ pip install aiohttp2. 示例 import asyncio from aiohttp import webasync def index(request):await asyncio.sleep(1)return web.Response(bodybh1Index/h1)async def hello(request):await asyncio.sleep(1)text h1hello, %s!/h1 % request.match_info[name]return web.Response(bodytext.encode(utf-8))async def init(loop):app web.Application(looploop)app.router.add_route(GET, /, index)app.router.add_route(GET, /hello/{name}, hello)# 利用 asyncio 创建 TCP 服务srv await loop.create_server(app.make_handler(), , 8000)print(server started at http://localhost:8000...)return srvloop asyncio.get_event_loop() loop.run_until_complete(init(loop)) loop.run_forever()上一篇「Python 基础」Web 应用编程专栏《Python 基础》 PS欢迎各路道友阅读与评论感谢道友点赞、关注、收藏
http://www.w-s-a.com/news/449361/

相关文章:

  • html5网站特点seo教程培训班
  • 深圳网站建设哪个最好网站 多语
  • 互联网工具型网站创意网络广告
  • 影视公司网站建设网页界面设计分辨率是多少dpi
  • 免费的做微博的网站模板wordpress 页面 首页
  • 摄影图片网站网站辅导运营与托管公司
  • 做课件的网站长春免费建站模板
  • 响应式网站模板下载免费wordpress 小工具移动
  • 网站标签title在线app制作平台
  • 做电器推广的网站简洁大方的网站模板
  • 网站开发的平台100个详情页设计图
  • wordpress淘宝客建站教程视频知名的设计公司网站
  • 批量做单页网站怎么直接用代码做网站
  • 百度收录较好的网站办公室装修设计方案
  • 建设购物网站要求cnzz数据统计
  • 深圳自适应网站建设价格广东网站建设软件
  • 网页设计介绍北京网站自己做彩票网站
  • 最牛论坛网站app生成链接
  • 用jsp做的网站源代码网站优化说明
  • 网站建设公司名字甘肃省和住房建设厅网站
  • 做外贸网站需要什么卡网站建设公司怎样
  • 网站关键词密度怎么计算的中文版wordpress
  • asp网站建设教程如何在线上推广自己的产品
  • 电脑网站你懂我意思正能量济南网站建设公司熊掌号
  • 杂志社网站建设萧山区网站建设
  • 电商网站前端制作分工网站怎做百度代码统计
  • 免费的html大作业网站网站开发心得500字
  • 临时工找工作网站做美缝帮别人做非法网站
  • 深圳网站建设 设计创公司新昌网站开发
  • 唐山教育平台网站建设上海装修网官网