文档地址:https://docs.python.org/3/library/asyncio.html

文档第一句话说得很明白,asyncio是单线程并发,这种event loop架构是很多新型异步并发技术的选择,包括Node.js、Spring Webflux等 过上篇提的Golang不是,而且有gopher不太承认event loop。

一、Base Event Loop

  1、关于event loop:它是asyncio的中心执行调度设施,它有以下功能:

1.1、注册、调用、取消回调函数的执行

1.2、为各种通信通道提供客户服务器双端通讯机制

1.3、启动子进程,并使其与外部程序通信的通讯关联起来。

1.4、把耗时任务微弱给线程池

2、Call,绝大多数回调函数不接受关键字参数,如果你想给回调函数传参,那只能用functools.partial()

3、延迟调用:event loop 有它自己的内部时钟用来计算延迟时间。

4、Futures: Promise设计模式的实现

5、Tasks

6、Client-end: Creating connections

7、Server-end:Creating listening connections

8、观察文件描述符

9、低阶Socket操作

10、解析主机名

11、连接通道

12、Unix信号

13、Executor:执行器,在线程池里或者进程池里调用一个函数,event loop默认使用线程池

14、错误处理

15、debug模式

16、Server:Socket Server

17、Handle:可以用来取消一个函数的执行

18、Event Loop代码样例

二、Event Loop

      1、Event loop的默认策略及设置,以及跨平台的一些问题

     三、任务和协程

      1、协程:iscoroutinefunction()iscoroutine()

      2、任务:调度协程的执行,把它封装进future,一个任务是Future的子类

     四、通讯和协议

      1、asyncio用Transport抽象各种类型通信通道,asyncio目前支持长度transport有TCP、UDP、SSL和子进程通道。

      2、协议:asyncio提供了一个基类用来实现自己的网络协议

     五、基于协程的流API

     六、子进程:高阶API与低阶API

     七、同步操作元语:与threading的API设计相近

         1、锁:Lock、Event、Conditon

         2、信号量

     八、消息队列

         1、Queue:用来协调生产者和消费者协程

     九、asyncio开发技巧:

Python asyncio文档阅读摘要的更多相关文章

  1. Keras 文档阅读笔记(不定期更新)

    目录 Keras 文档阅读笔记(不定期更新) 模型 Sequential 模型方法 Model 类(函数式 API) 方法 层 关于 Keras 网络层 核心层 卷积层 池化层 循环层 融合层 高级激 ...

  2. Django文档阅读-Day1

    Django文档阅读-Day1 Django at a glance Design your model from djano.db import models #数据库操作API位置 class R ...

  3. Django文档阅读-Day2

    Django文档阅读 - Day2 Writing your first Django app, part 1 You can tell Django is installed and which v ...

  4. Django文档阅读-Day3

    Django文档阅读-Day3 Writing your first Django app, part 3 Overview A view is a "type" of Web p ...

  5. 如何在命令行模式下查看Python帮助文档---dir、help、__doc__

    如何在命令行模式下查看Python帮助文档---dir.help.__doc__ 1.dir函数式可以查看对象的属性,使用方法很简单,举str类型为例,在Python命令窗口输入 dir(str) 即 ...

  6. Node.js的下载、安装、配置、Hello World、文档阅读

    Node.js的下载.安装.配置.Hello World.文档阅读

  7. 我的Cocos Creator成长之路1环境搭建以及基本的文档阅读

    本人原来一直是做cocos-js和cocos-lua的,应公司发展需要,现转型为creator.会在自己的博客上记录自己的成长之路. 1.文档阅读:(cocos的官方文档) http://docs.c ...

  8. 转:苹果Xcode帮助文档阅读指南

    一直想写这么一个东西,长期以来我发现很多初学者的问题在于不掌握学习的方法,所以,Xcode那么好的SDK文档摆在那里,对他们也起不到什么太大的作用.从论坛.微博等等地方看到的初学者提出的问题,也暴露出 ...

  9. python统计文档中词频

    python统计文档中词频的小程序 python版本2.7 效果如下: 程序如下,测试文件与完整程序在我的github中 #统计空格数与单词数 本函数只返回了空格数 需要的可以自己返回多个值 def ...

随机推荐

  1. 微信小程序 - 各种示例

    示例更新(后续持续更新): 最后一次更新:2018-11-7 小程序-地图显示(调用高德地图.腾讯App) - (2018-11-1) 小程序-上传图片(上传.预览.展示.删除) - (2018-11 ...

  2. php之快速入门学习-4(数据类型)

    PHP 5 数据类型 String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值). PHP ...

  3. SQL 2008 R2数据库变为REPLICATION,日志不断增长并且不能截断和收缩的解决方式

     执行环境:windows server2003,sql server2008 R2,数据库上布置CDC   用户反应系统报错是日志已满,系统不能执行. 查看日志文件时.发现日志文件已经达到15G ...

  4. 14.怎样自学Struts2之Struts2类型转换[视频]

    14.怎样自学Struts2之Struts2类型转换[视频] 之前写了一篇"打算做一个视频教程探讨怎样自学计算机相关的技术",优酷上传不了.仅仅好传到百度云上: http://pa ...

  5. 记录规则 – 销售只能看到自己的客户,经理可以看到全部

    OpenERP中的权限管理有四个层次: 菜单级别: 即,不属于指定菜单所包含组的用户看不到该菜单.不安全,只是隐藏菜单,若用户知道菜单ID,仍然可以通过指定URL访问 对象级别: 即,对某个对象是否有 ...

  6. Cygwin--unix/linux模拟环境

    Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多有用的工具,著名的还有eCos,不过现已被Redhat收购).它 ...

  7. 小白心目中的Java抽象类(abstract class)

    在java开发中,我们有时会定义了一个父类,这个父类只有对方法的描述,但却没有在父类中写出对方法的实现,这种被定义的方法称为抽象方法.那么理所当然,含有抽象方法的类就称为抽象类.用关键字abstrac ...

  8. shell脚本死循环判断nginx日志reqest_time时间大于3秒是否增加,若增加发送相关日志信息到开发人员

    #!/bin/bash while [ 1 ] do pre_request_time_count=`cat /var/log/nginx/access.log |awk '{print $NF}'| ...

  9. 配置eclipse插件

    http://blog.csdn.net/zhangyabinsky/article/details/7043435

  10. Swift代理造成内存泄漏的解决办法

    在swift中,使用代理 ,可能很多人会这样实现: .首先定义一份协议. protocol ToolProrocol{ //代理方法 func didRecieveResults(result:Int ...