基于trio的异步主循环的再实现

trio_asyncio的Python项目详细描述


trio-asyncioasynciomainloop在 三人组。

基本原理

有相当多的异步兼容库。

另一方面,trio有任务和任务取消的固有概念。 另一方面,异步是基于链接未来的对象,尽管 有更好的语法。

因此,能够使用trio中的异步库是很有用的。

工作原理

“正常”异步主循环的核心是 提交给call_soonadd_reader/add_writer

asyncio内的所有其他内容,即期货和async/await, 只是语法上的糖。没有任务的概念;而未来可以 被取消,这本身并不影响负责 实现它。

另一方面,三人组有真正的任务 异步返回值,并且负责提供 这个价值。

trio_asyncio实现一个任务,该任务运行(它自己的版本) 异步主循环。它还包含在这些 尽可能透明和正确的概念,它取代了一些 标准循环的关键功能。

这非常有效:trio_asyncio仅由~700行 代码(asyncio:~8000),但通过了完整的python 3.6测试套件,没有 错误。

trio_asyncio需要python 3.5.3或更高版本。

作者

马蒂亚斯乌里奇matthias@urlichs.de>;

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
多线程java线程。join未按预期工作   RegExp-GWT/Javascript的java测试方法   java Selenium RemoteWebDriver似乎无法识别对web元素的javascript更改   java当我从Excel工作表中读取inf时,无法按顺序打印文档文件中的信息   JAVAlang.OutOfMemoryError:尝试连接DB2时的Java堆空间   java无法使用smartband 2从google fit API获取心率数据   java外部化属性文件Widlfly&struts1。十、   java如何监视注入的单例?   如何使java日志输出显示在一行上?   java Jboss ws-wsdl问题   java toUpperCase(char)方法?   安卓 Gradle“应用程序”项目刷新失败原因:Java。Lang.NullPointerException   java Spring安全ACL错误无法找到对象标识的ACL信息   是否有一个REST Web服务API提供程序,如FRAPI(PHP),但用于Java?   java递归方法生成字符串的所有分区   JAVAlang.StringIndexOutOfBoundsException:字符串索引超出范围:9   java将项从集合<CustomObject>中获取到其属性列表中的最佳方法是什么   Java本机启动器性能   多捕获与多捕获的java性能差异   java如何创建BaseDAO+JDBC并像@Autowired变量一样使用它?