Python异步编程

Python异步编程
作 者: 凯莱布 哈廷
出版社: 中国电力出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Caleb Hattingh 拥有20多年的编程经验,擅长Python。他对于编码充满热情,为化学工程、客户关系管理(CRM)软件、酒店业、GPS追踪、自然语言处理等项目编写过软件。他拥有化学工程硕士学位。

内容简介

本书的主要内容有:从并发网络编程场景,对异步和多线程进行全面对比。进行asyncio代码的实战演练,提供包括使用基于事件的编程来实现循环等快速入门指南。了解面向终端开发者和框架开发者之间异步特性的区别。了解asyncio的新async/await语言语法,包括协程和任务以及future API。获取一些流行asyncio兼容的第三方库的详细案例研究(带代码)。

图书目录

目录

前言 .1

第1 章 什么是异步 5

1.1 ThreadBots 餐厅 .5

1.2 结语 10

1.3 Asyncio 试图解决什么问题? 11

第2 章 关于线程的真相 15

2.1 线程的优势 . 16

2.2 线程的缺点 . 18

2.3 案例研究:机器人和餐具 21

第3 章 asyncio 演练 28

3.1 快速入门 29

3.2 异步之塔 36

3.3 协程 39

3.3.1 新关键词:async def 40

3.3.2 新的 await 关键字 . 43

3.4 事件循环 46

3.5 任务和期望 . 49

3.6 异步上下文管理器:async with 56

3.7 异步迭代器:async for . 61

3.8 使用异步生成器使代码更简单 . 65

3.9 异步推导 66

3.10 优雅的关闭和启动 69

3.10.1 Gather() 中的 return_exceptions=True 是什么? . 74

3.10.2 信号 76

3.10.3 在关闭期间等待执行程序 82

第4 章 20 个你没有使用过的 asyncio 库 88

4.1 Streams ( 标准库) 89

4.1.1 案例研究:消息队列 89

4.1.2 案例研究:改进消息队列 . 98

4.2 Twisted 103

4.3 Janus 队列 . 106

4.4 aiohttp . 108

4.4.1 案例研究:Hello World 108

4.4.2 案例研究:爬取新闻网站 109

4.5 ZeroMQ . 114

4.5.1 案例研究:多个套接字 115

4.5.2 案例研究:应用性能监控 119

4.6 asyncpg 和Sanic 128

4.7 其他异步库和资源 146

第5 章 总结 149

附录A Python 中异步特性的发展简史 . 151

附录B 补充材料 155