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

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

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

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

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    醉染图书旗舰店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

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

    章asynci简介

    1.1什么是asyncio2

    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.1GIL会释放吗15

    1.5.2asyncio和GIL17

    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和awaitable38

    2.5.1关于future38

    2.5.2future、任务和协程之间的关系40

    2.6使用装饰器测量协程执行时间41

    2.7协程和任务的陷阱43

    2.7.1运行CPU密集型代码44

    2.7.2运行阻塞API46

    2.8手动创建和访问事件循环47

    2.8.1手动创建事件循环47

    2.8.2访问事件循环48

    2.9使用调试模式49

    2.9.1使用asyncio.run49

    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解决任务中的错误72

    3.6正常关闭74

    3.6.1监听信号74

    3.6.2等待挂起的任务完成76

    3.7本章小结79

    第4章并发网络请求81

    4.1aiohttp82

    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进行细粒度控制99

    4.6.1等待所有任务完成99

    4.6.2观察异常102

    4.6.3当任务完成时处理结果104

    4.6.4处理超时107

    4.6.5为什么要将所有内容都包装在一个任务中109

    4.7本章小结110

    第5章非阻塞数据库驱动程序111

    5.1关于asyncpg111

    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进程池执行器与asynci46

    6.3.1进程池执行器146

    6.3.2带有异步事件循环的进程池执行器148

    6.4使用asyncio解决MapReduce的问题149

    6.4.1简单的MapReduce示例151

    6.4.2GoogleBooksNgram数据集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.1threading模块176

    7.2通过asyncio使用线程180

    7.2.1request库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.1Tkinter193

    7.4.2使用asyncio和线程构建响应式UI195

    7.5使用线程执行CPU密集型工作203

    7.5.1多线程与hashlib203

    7.5.2多线程与NumPy206

    7.6本章小结208

    第8章流211

    8.1流212

    8.2传输和协议212

    8.3流读取与流写入216

    8.4非阻塞命令行输入219

    8.5创建服务器0

    8.6创建聊天服务器和客户端2

    8.7本章小结

    第9章Web应用程序241

    9.1使用aiohttp创建RESTAPI242

    9.1.1什么是REST242

    9.1.2aiohttp服务器基础知识243

    9.1.3连接到数据库并返回结果244

    9.1.4比较aiohttp和Flask251

    9.2异步服务器网关接口253

    9.3ASGI与Starlette255

    9.3.1使用Starlette的REST端点255

    9.3.2WebSocket与Starlette257

    9.4Django异步视图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.4asyncio如何提供帮273

    10.2backend-for-frontend模式273

    10.3实施产品列表API275

    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.锁02

    11.3使用信号量并发306

    11.4使用事件来通知任务312

    11.5条件317

    11.6本章小结322

    2章异步队列3

    12.1异步队列基本知识324

    12.1.1Web应用程序中的队列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章高级asyncio365

    14.1带有协程和函数的API366

    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的套接字379

    14.5.5任务的实现381

    14.5.6实现事件循环383

    14.5.7使用自定义事件循环实现服务器386

    14.6本章小结388

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

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

    售后保障

    最近浏览

    猜你喜欢

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

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

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

    查看我的收藏夹

    确定

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

    关闭

    抱歉,您暂无任性付资格

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