返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:
本店所有商品

  • 全新正版Python asyncio并发编程9787302622833清华大学出版社
    • 作者: (英)马修·福勒(Matthew Fowler)著著 | (英)马修·福勒(Matthew Fowler)著编 | (英)马修·福勒(Matthew Fowler)著译 | (英)马修·福勒(Matthew Fowler)著绘
    • 出版社: 清华大学出版社
    • 出版时间:2023-01
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    如梦图书专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品参数
    • 作者: (英)马修·福勒(Matthew Fowler)著著| (英)马修·福勒(Matthew Fowler)著编| (英)马修·福勒(Matthew Fowler)著译| (英)马修·福勒(Matthew Fowler)著绘
    • 出版社:清华大学出版社
    • 出版时间:2023-01
    • 版次:1
    • 页数:408
    • 开本:其他
    • ISBN:9787302622833
    • 版权提供:清华大学出版社
    • 作者:(英)马修·福勒(Matthew Fowler)著
    • 著:(英)马修·福勒(Matthew Fowler)著
    • 装帧:平装
    • 印次:暂无
    • 定价:128.00
    • ISBN:9787302622833
    • 出版社:清华大学出版社
    • 开本:其他
    • 印刷时间:暂无
    • 语种:暂无
    • 出版时间:2023-01
    • 页数:408
    • 外部编号:12257592
    • 版次:1
    • 成品尺寸:暂无

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

    Matthew Fowler拥有近20年的软件工程经验,曾任软件架构师、工程总监等多个职位。他起初为科学应用程序编写软件,然后转向全栈Web开发和分布式系统,领导多个开发人员和管理人员团队为拥有数千万用户的商务编写应用程序及构建系统。他与妻子Kathy住在马萨诸塞州的列克星敦。

    标准Python程序很容易过载,从而出现慢如龟爬的情况。asyncio库正是为了解决这些问题而构建的,它简化了任务的划分和调度。asyncio可无缝地同时处理多个操作,使应用程序疾如闪电,且具有扩展。     《Python asyncio并发编程》在大量示例的引导下,介绍异步、并行和并发编程。将难理解的并发内容分解为简明易懂的流程图,使读者可轻松了解任务的运行方式。在本书中,读者将学习如何使用asyncio来突破Python的,从而加快Web服务器和微服务的运行速度。读者甚至可将asyncio与传统的多处理技术结合起来,以大幅提升能。 主要内容 ● 通过aiohttp构建支持并发Web请求的Web API ● 同时运行海量SL查询 ● 创建一个可并行处理数GB数据的map-reduce作业 ● 在asyncio中使用线程来混合阻塞代码和asyncio代码

    在本书中,通过14章的内容,由浅入深地介绍如何通过asyncio实现并发编程,并使用 一个贯穿全书的示例,介绍如何使用asyncio 在服务器与客户端之间进行并发通信。看着这个示例由简单变得复杂,在掌握相关知识的同时,也给自己带来了不小的成就感。作为Python和数据科学的教学人员,我建议你在阅读本书时,认真学习书中的示例,并在自己的计算机上运行本书附带的程序,这将让你更好地理解本书所介绍的内容。别担心,本书使用的示例对计算机的要求并不高;我在完成相关练习时,使用的是2015年在拉斯维加斯的Best buy购买的MacBook Pro,配置i5 CPU、8GB 内存及128GB SSD,使用这样的机器运行本书的示例代码毫无压力。

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购