《Python asyncio并发编程》内容简介与阅读建议

获取这本书 暂无已核验电子书资源
下载
分类
科技技术
出版年份
2023
译者
殷海英
出版社
清华大学出版社
语言
中文

《Python asyncio并发编程》内容简介

标准Python程序很容易过载,从而出现慢如龟爬的情况。asyncio库正是为了解决这些问题而构建的,它简化了任务的划分和调度。asyncio可无缝地同时处理多个操作,使应用程序疾如闪电,且具有扩展性。

《Python asyncio并发编程》书籍信息摘要

《Python asyncio并发编程》内容简介与阅读建议,作者 [英]马修·福勒(MatthewFowler),科技技术,2023年。获取前建议核对作者、出版社、年份、ISBN、版本和正版渠道。相关主题:Python、编程、计算机类。

《Python asyncio并发编程》适合哪些读者?

适合希望系统学习技术概念、实践方法、工具使用和行业知识的读者。

获取建议

《Python asyncio并发编程》怎么获取更合适?

优先确认版本和阅读目的;下载区只展示已核验的公版、授权、开放许可或官方试读资源。

下载

暂无已核验电子书资源;本站不展示未授权完整文件。

下载

版本

优先选择作者、译者、出版社、出版年份和 ISBN 信息明确的版本;经典作品可优先选择校注、导读或权威出版社版本。

目录

  1. 第1 章 asyncio简介 1
  2. 1.1 什么是asyncio 2
  3. 1.2 什么是I/O密集型和CPU密集型 3
  4. 1.3 了解并发、并行和多任务处理 4
  5. 1.3.1 并发 4
  6. 1.3.2 并行 5
  7. 1.3.3 并行与并发的区别 6
  8. 1.3.4 什么是多任务 6
展开全部(共 194 章节)
  1. 1.3.5 协同多任务处理的优势 7
  2. 1.4 了解进程、线程、多线程和多处理 7
  3. 1.4.1 进程 7
  4. 1.4.2 线程 8
  5. 1.5 理解全局解释器锁 11
  6. 1.5.1 GIL会释放吗 15
  7. 1.5.2 asyncio和GIL 17
  8. 1.6 单线程并发 17
  9. 1.7 事件循环的工作原理 20
  10. 1.8 本章小结 22
  11. 第2 章 asyncio基础 23
  12. 2.1 关于协程 23
  13. 2.1.1 使用async关键字创建协程 24
  14. 2.1.2 使用await关键字暂停执行 26
  15. 2.2 使用sleep引入长时间运行的协程 27
  16. 2.3 通过任务实现并行 30
  17. 2.3.1 创建任务 30
  18. 2.3.2 同时运行多个任务 31
  19. 2.4 取消任务和设置超时 34
  20. 2.4.1 取消任务 34
  21. 2.4.2 设置超时并使用wait_for
  22. 执行取消 36
  23. 2.5 任务、协程、future和awaitable 38
  24. 2.5.1 关于future 38
  25. 2.5.2 future、任务和协程之间的关系 40
  26. 2.6 使用装饰器测量协程执行时间 41
  27. 2.7 协程和任务的陷阱 43
  28. 2.7.1 运行CPU密集型代码 44
  29. 2.7.2 运行阻塞API 46
  30. 2.8 手动创建和访问事件循环 47
  31. 2.8.1 手动创建事件循环 47
  32. 2.8.2 访问事件循环 48
  33. 2.9 使用调试模式 49
  34. 2.9.1 使用asyncio.run 49
  35. 2.9.2 使用命令行参数 49
  36. 2.9.3 使用环境变量 50
  37. 2.10 本章小结 51
  38. 第3 章 个asyncio应用程序 53
  39. 3.1 使用阻塞套接字 54
  40. 3.2 使用telnet连接到服务器 56
  41. 3.2.1 从套接字读取和写入数据 57
  42. 3.2.2 允许多个连接和阻塞的危险性 59
  43. 3.3 使用非阻塞套接字 61
  44. 3.4 使用选择器模块构建套接字事件循环 65
  45. 3.5 使用asyncio事件循环的
  46. 回显服务器 68
  47. 3.5.1 套接字的事件循环协程 69
  48. 3.5.2 设计一个异步回显服务器 69
  49. 3.5.3 解决任务中的错误 72
  50. 3.6 正常关闭 74
  51. 3.6.1 监听信号 74
  52. 3.6.2 等待挂起的任务完成 76
  53. 3.7 本章小结 79
  54. 第4 章 并发网络请求 81
  55. 4.1 aiohttp 82
  56. 4.2 异步上下文管理器 82
  57. 4.2.1 使用aiohttp发出Web请求 85
  58. 4.2.2 使用aiohttp设置超时 87
  59. 4.3 并发运行任务及重新访问 88
  60. 4.4 通过gather执行并发请求 91
  61. 4.5 在请求完成时立即处理 95
  62. 4.6 使用wait进行细粒度控制 99
  63. 4.6.1 等待所有任务完成 99
  64. 4.6.2 观察异常 102
  65. 4.6.3 当任务完成时处理结果 104
  66. 4.6.4 处理超时 107
  67. 4.6.5 为什么要将所有内容都包装在一个任务中 109
  68. 4.7 本章小结 110
  69. 第5 章 非阻塞数据库驱动程序 111
  70. 5.1 关于asyncpg 111
  71. 5.2 连接Postgres数据库 112
  72. 5.3 定义数据库模式 113
  73. 5.4 使用asyncpg执行查询 116
  74. 5.5 通过连接池实现并发查询 119
  75. 5.5.1 将随机sku插入products数据库 119
  76. 5.5.2 创建连接池从而同时运行查询 123
  77. 5.6 使用asyncpg管理事务 128
  78. 5.6.1 嵌套事务 130
  79. 5.6.2 手动管理事务 132
  80. 5.7 异步生成器和流式结果集 133
  81. 5.7.1 异步生成器介绍 134
  82. 5.7.2 使用带有流游标的异步生成器 135
  83. 5.8 本章小结 139
  84. 第6 章 处理CPU密集型工作 141
  85. 6.1 介绍multiprocessing库 142
  86. 6.2 使用进程池 144
  87. 6.3 进程池执行器与asyncio 146
  88. 6.3.1 进程池执行器 146
  89. 6.3.2 带有异步事件循环的进程池执行器 148
  90. 6.4 使用asyncio解决MapReduce的问题 149
  91. 6.4.1 简单的MapReduce示例 151
  92. 6.4.2 Google Books Ngram数据集 153
  93. 6.4.3 使用asyncio进行映射和归约 154
  94. 6.5 共享数据和锁 159
  95. 6.5.1 共享数据和竞争条件 160
  96. 6.5.2 使用锁进行同步 163
  97. 6.5.3 与进程池共享数据 166
  98. 6.6 多进程,多事件循环 170
  99. 6.7 本章小结 173
  100. 第7 章 通过线程处理阻塞任务 175
  101. 7.1 threading模块 176
  102. 7.2 通过asyncio使用线程 180
  103. 7.2.1 request库 180
  104. 7.2.2 线程池执行器 181
  105. 7.2.3 使用asyncio的线程池执行器 183
  106. 7.2.4 默认执行器 184
  107. 7.3 锁、共享数据和死锁 186
  108. 7.3.1 可重入锁 188
  109. 7.3.2 死锁 190
  110. 7.4 单线程中的事件循环 192
  111. 7.4.1 Tkinter 193
  112. 7.4.2 使用asyncio和线程构建响应式UI 195
  113. 7.5 使用线程执行CPU密集型工作 203
  114. 7.5.1 多线程与hashlib 203
  115. 7.5.2 多线程与NumPy 206
  116. 7.6 本章小结 208
  117. 第8 章 流 211
  118. 8.1 流 212
  119. 8.2 传输和协议 212
  120. 8.3 流读取与流写入 216
  121. 8.4 非阻塞命令行输入 219
  122. 8.5 创建服务器 230
  123. 8.6 创建聊天服务器和客户端 232
  124. 8.7 本章小结 239
  125. 第9 章 Web应用程序 241
  126. 9.1 使用aiohttp创建REST API 242
  127. 9.1.1 什么是REST 242
  128. 9.1.2 aiohttp服务器基础知识 243
  129. 9.1.3 连接到数据库并返回结果 244
  130. 9.1.4 比较aiohttp和Flask 251
  131. 9.2 异步服务器网关接口 253
  132. 9.3 ASGI 与 Starlette 255
  133. 9.3.1 使用Starlette的REST端点 255
  134. 9.3.2 WebSocket与Starlette 257
  135. 9.4 Django异步视图 261
  136. 9.4.1 在异步视图中运行阻塞工作 267
  137. 9.4.2 在同步视图中使用异步代码 268
  138. 9.5 本章小结 269
  139. 第10 章 微服务 271
  140. 10.1 什么是微服务 272
  141. 10.1.1 代码的复杂性 272
  142. 10.1.2 可扩展性 272
  143. 10.1.3 团队和堆栈独立性 273
  144. 10.1.4 asyncio如何提供帮助 273
  145. 10.2 backend-for-frontend模式 273
  146. 10.3 实施产品列表API 275
  147. 10.3.1 “用户收藏”服务 275
  148. 10.3.2 实现基础服务 276
  149. 10.3.3 实现backend-for-frontend服务 281
  150. 10.3.4 重试失败的请求 287
  151. 10.3.5 断路器模式 290
  152. 10.4 本章小结 296
  153. 第11 章 同步 297
  154. 11.1 了解单线程并发错误 298
  155. 11.2 锁 302
  156. 11.3 使用信号量限制并发性 306
  157. 11.4 使用事件来通知任务 312
  158. 11.5 条件 317
  159. 11.6 本章小结 322
  160. 第12 章 异步队列 323
  161. 12.1 异步队列基本知识 324
  162. 12.1.1 Web应用程序中的队列 331
  163. 12.1.2 网络爬虫队列 334
  164. 12.2 优先级队列 337
  165. 12.3 LIFO队列 345
  166. 12.4 本章小结 347
  167. 第13章 管理子进程 349
  168. 13.1 创建子进程 349
  169. 13.1.1 控制标准输出 352
  170. 13.1.2 同时运行子进程 355
  171. 13.2 与子进程进行通信 359
  172. 13.3 本章小结 363
  173. 第14章 高级asyncio 365
  174. 14.1 带有协程和函数的API 366
  175. 14.2 上下文变量 368
  176. 14.3 强制事件循环迭代 370
  177. 14.4 使用不同的事件循环实现 371
  178. 14.5 创建自定义事件循环 373
  179. 14.5.1 协程和生成器 373
  180. 14.5.2 不建议使用基于生成器的协程 374
  181. 14.5.3 自定义可等待对象 376
  182. 14.5.4 使用带有future的套接字 379
  183. 14.5.5 任务的实现 381
  184. 14.5.6 实现事件循环 383
  185. 14.5.7 使用自定义事件循环实现服务器 386
  186. 14.6 本章小结 388

常见问题

《Python asyncio并发编程》适合谁读?

适合希望系统学习技术概念、实践方法、工具使用和行业知识的读者。

《Python asyncio并发编程》阅读难度高吗?

建议先看简介、目录、作者和相关书籍,再判断是否适合当前阶段阅读。

《Python asyncio并发编程》纸质书值得买吗?

当前暂未接入已核验的纸质书购买链接,建议通过出版社、京东、当当等正版渠道核对版本后购买。

《Python asyncio并发编程》哪个版本更适合?

优先选择作者、译者、出版社、出版年份和 ISBN 信息清楚的版本;经典作品可优先选择校注、导读或权威出版社版本。

在哪里可以合法获取《Python asyncio并发编程》?

当前没有确认授权的电子书下载资源,也暂未接入已核验购买链接;商业出版物不提供未授权下载,建议通过出版社、京东、当当或官方电子书平台核对获取。

如何继续查找《Python asyncio并发编程》相关书籍?

可以进入 [英]马修·福勒(MatthewFowler) 作者页查看其他作品,也可以通过分类、标签、排行榜、人工推荐和“读完这本还可以读”继续发现相近主题。

手机扫码下载

使用手机扫描二维码

扫码后会直接打开下载链接。

电子书下载二维码

手机端点击下载会直接跳转,无需扫码。