新書推薦:
《
纯粹·古代中国的历史与制度
》
售價:HK$
62.7
《
生活来来往往 别等来日方长 新版(伍佰:“讲好了这一辈子,再度重相逢。”别等,别遗憾!珍惜当下才是最好的解药)
》
售價:HK$
58.2
《
一个英国军事顾问眼中的二战
》
售價:HK$
277.8
《
就业、利息和货币通论(徐毓枬译本)(经济学名著译丛)
》
售價:HK$
67.2
《
瘦肝
》
售價:HK$
99.7
《
股票大作手回忆录
》
售價:HK$
55.8
《
秩序四千年:人类如何运用法律缔造文明(世界重归混乱,文明岌岌可危,法律与秩序是我们仅有的武器。穿越时间,鸟瞰全球,一部波澜壮阔的人类文明史)
》
售價:HK$
154.6
《
民法典1000问
》
售價:HK$
99.7
|
編輯推薦: |
一句话推荐
本书介绍了Python异步编程的基础知识,并且教你编写多任务脚本。
编辑推荐
如果你是那些被asyncio异步特性的复杂度所劝退的Python开发者之一的话,那么是时候需要重新审视一下了。异步的复杂性,旨在它需要同时解决框架和终端开发者层面面临的并发网络编程问题。你需要考虑的特性功能只是整个anyncio API很小的一个子集,但是选对正确的功能仍然是一件棘手的事情。这也是我们编写这本实用书的原因。
资深Python开发人员Caleb Hattingh将帮助你更好地理解异步构建领域的基础知识,足以开始编写简单的基于事件的程序。你会了解为什么asyncio提供了比抢占式多任务(线程)更安全的替代方案,以及异步API如何通过简单的方法就可以支持数千个同时套接字连接的。
专家推荐
“在开发者的工具箱中,异步编程是其中*强大的工具之一。但是它对于新人来说也是很难掌握的知识。本书将为你揭开Python异步编程的神秘面纱,并且教你编写多任务脚本。”
——Charles Givre
数据科学家,摩根大通
|
內容簡介: |
本书的主要内容有:从并发网络编程场景,对异步和多线程进行全面对比。进行asyncio代码的实战演练,提供包括使用基于事件的编程来实现循环等快速入门指南。了解面向终端开发者和框架开发者之间异步特性的区别。了解asyncio的新async/await语言语法,包括协程和任务以及future API。获取一些流行asyncio兼容的第三方库的详细案例研究(带代码)。
|
關於作者: |
Caleb Hattingh 拥有20多年的编程经验,擅长Python。他对于编码充满热情,为化学工程、客户关系管理(CRM)软件、酒店业、GPS追踪、自然语言处理等项目编写过软件。他拥有化学工程硕士学位。
|
目錄:
|
目录
前言 .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
|
|