《Grokking Concurrency》读后感

高云FPGA PLL IP核实战:手把手教你用GW5A芯片生成多路时钟(附Modelsim仿真避坑指南) 本文详细介绍了高云FPGA GW5A芯片中PLL IP核的配置与仿真全流程,特别针对Modelsim仿真中的常见陷阱提供了避坑指南。从环境准备、IP核精细配置到Testbench编写和板级验证,手把手教你生成多路时钟信号,并分享时钟质量验证和性能优化的实用技巧。 阅读详情

一、 为什么读这本书?

1.在工作项目中,有些项目用多线程(如:threading.Thread) , 有些项目用(如:multiprocess.pool), 也有些项目用到协程(如:asyncio)。但是什么时候用哪种技术,自己还不是很了解,从而就无法判断这样用到底好不好,所以想找本书看看,从而梳理清楚。

2.曾经有一个 Python 项目,虽然用了多进程,但是还是出现了请求处理不过来的情况,虽然该项目在后续选择了 Java 技术栈解决了,但这个问题我却始终无法忘记,所以平时留意并发相关的书,看是否能找到解决方案。

因为《Grokking Concurrency》的示例代码使用 Python 语言实现,同时是 2024 年出版的,书中代码不至于无法运行,所以选择阅读该书来了解并发编程。

二、这本书写了什么?

本书主要分为两部分,第一部分介绍了并发的基础:程序,进程,线程,协程;第二部分介绍了并发编程中常遇到的问题:竞态条件,死锁,饥饿等。

本书 304 页,从 2025 年 11 月 10 日至 2025 年 12 月 16 日,期间断断续续花了 23 天阅读完《Grokking Concurrency》。

三、这本书特点

1.重点讲明白了为什么(why)。

这是这本书最大的特点,这本书不是在罗列概念,而是从计算机硬件逐渐展开描述,引入相关的概念。逻辑非常强,读完之后就明白了这个某个概念是什么?为什么要引入这个概念。如我自己平时就很不理解“线程”和“协程”这两个概念,看完之后如醍醐灌顶——要理解线程,要先理解程序的执行原理(program>instruction);而要理解协程则要先理解线程切换需要消耗资源。

2.很多无意义的比喻和插图。

虽然作者想表达:From symphony orchestras to hospital waiting rooms, and from fast food processes to home maintenance, we’ve drawn comparisons to help you understand complex topics(从交响乐团到医院候诊室,从快餐加工到家庭维修,我们通过类比来帮助理解复杂的主题)。说实话,与其做类比,不如拿实际项目举例。

再者,书中有很多插图,这大概也是该书中文版译名《并发编程图解》 的来源吧。不过,很多图无意义,不是画个图然后配些文字就叫“图解”啊。很多时候之所以需要“图”,是因为内容过于抽象,而我们受限于想象力,所以才需要图来帮助理解。话说回来,其实中译版取这个名字也不好,应该叫《深入理解并发编程》。如下面的图就没有什么意义:

在这里插入图片描述

3.缺乏实战项目

个人觉得作者确实写得很好,如果能补充一些 syncio 和 aiohttp 在实际项目中的应用就完美了。

四、这本书适合什么样的人?

回到“为什么阅读这本书”。我的第一个问题得到了回答:CPU密集型任务使用多进程,IO密集型使用多线程(阻塞IO)或者协程(非阻塞IO)。但第二个问题本书没有涉及。

本书是一本基础的并发入门书,使用 Python 实现代码。适合想了解并发的 Python 开发者。

五、阅读指数

按照 5 星标准,本书阅读指数 4 颗星(★★★★☆)。

六、参考资料

1. 编程

(1)豆瓣,Kirill Bobrov,《Grokking Concurrency》: https://book.douban.com/subject/36296797/

(2)豆瓣,基里尔·波波洛夫,《并发编程图解》:https://book.douban.com/subject/37364991/

(3)Github,源码: https://github.com/luminousmen/grokking_concurrency

2. 英语

(1) Etymology Dictionary:https://www.etymonline.com

(2) Cambridge Dictionary:https://dictionary.cambridge.org

欢迎搜索及关注:编程人(a_codists)

Pandas入门教程(二十二):股票数据分析实战——yfinance 获取数据、技术指标与收益率分析 把 Pandas 用在真实场景,才能体会它的价值。本文以茅台股票为例,用 yfinance 获取历史行情,完成缺失值处理与列筛选,绘制收盘价曲线,计算 SMA 移动平均线与 RSI 相对强弱指数,并通过日收益率、累计收益率和波动率完成完整的量化分析流程。 阅读详情

相关推荐

SAM3模型国内快速上手:Modelscope权重下载+环境配置一条龙指南

本文详细介绍了SAM3模型在国内的快速部署方案,包括通过Modelscope平台下载权重文件、优化CUDA 11.8环境配置以及实战避坑技巧。针对国内开发者常见的网络问题和环境兼容性问题,提供了从权重下载到模型加载的全流程指南,帮助用户高效完成部署并快速上手SAM3模型。

weixin_28465009的博客 1139

grokking_concurrency:深入理解并发编程

grokking_concurrency:深入理解并发编程 项目介绍 在现代软件开发中,并发编程是一项至关重要的技能,特别是在处理多核处理器和分布式系统时。grokking_concurrency 是一本关于并发编程的开源书籍的源代码,由 Kirill Bobrov 编写,Manning Inc. 出版。本书旨在帮助开发者深入理解并发编程的概念、原理和实践。 项目技术分析 grokking_con...

gitblog_00287的博客 933

【AI落地】AI生成测试用例,claude or gpt?(提效至少 50%)

gpt生成测试用例?当然好使啦,用好了提效50%+,用不好就让他变好!

青禾tester 1966

《Grokking Concurrency》开源项目安装与配置指南

《Grokking Concurrency》开源项目安装与配置指南 1. 项目基础介绍 《Grokking Concurrency》是一个关于并发编程的开源项目,该项目是基于Kirill Bobrov所著的同名书籍《Grokking Concurrency》的代码示例。该项目旨在帮助开发者理解并发的概念,并掌握在Python中实现并发编程的方法。项目主要使用Python 3.9版本进行开发。 2....

gitblog_00432的博客 646

k3s快速搭建k8s集群环境

k8s 搭建方式有多种,如果你是内网环境,希望占用服务器资源少或是边缘系统(如ARM系统),强烈推荐您使用 k3s进行安装 目录k3s 简介k3s架构中文官方文档三台服务器快速搭建k8s集群安装说明步骤1 修改主机名,保持唯一步骤2 安装docker步骤3 安装master节点步骤4 安装worker节点加入集群步骤5 查看集群步骤6 部署 k8s仪表盘 dashboard k3s 简介 轻量级 Kubernetes。安装简单,内存只有一半,所有的二进制都不到 100MB K3s 是一个完全符合 Ku.

gzt19881123的专栏 2445

给麒麟KylinOS服务器加把锁:手把手配置符合等保要求的密码强度策略

本文详细介绍了如何在麒麟KylinOS服务器上配置符合等保要求的密码强度策略,包括pwquality.conf和login.defs的核心参数设置、等保合规的进阶配置技巧以及企业环境中的平衡艺术。通过实战案例和测试方法,帮助管理员构建坚固的密码防线,确保系统安全。

weixin_33749242的博客 417

【Grokking 小数据集 过拟合 泛化分析】Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets

在本文中,我们提议在通过算法生成的小型数据集上研究神经网络的泛化。在这种情况下,有关数据效率、记忆、泛化和学习速度等问题都可以得到详细研究。在某些情况下,我们发现神经网络可以通过 "摸索 "数据中的模式来学习,从而将泛化性能从随机概率水平提高到完美泛化水平,而且这种泛化性能的提高可以远远超过过度拟合的程度。我们还研究了泛化与数据集大小的函数关系,发现较小的数据集需要越来越多的泛化优化。

Arachis_X的博客 1669

Win10环境借助DockerDesktop部署Open web UI集成DeepSeek

Win10环境借助DockerDesktop部署Open web UI集成DeepSeek,并借助DuckDuckGo实现联网查询

虎鲸不是鱼 1699

Grokking Concurrency 开源项目教程

Grokking Concurrency 开源项目教程 1. 项目介绍 Grokking Concurrency 是一本关于并发编程的书籍的代码示例,作者是 Kirill Bobrov,该书由 Manning Inc. 出版。本项目包含了书中所有示例代码,旨在帮助读者更好地理解并发编程的概念和技术。代码主要使用 Python 3.9 编写,并在 MacOS 和 Ubuntu 系统上进行了测试。请注...

gitblog_00437的博客 652

Android 13.0 app进程保活白名单功能实现

在13.0的系统rom产品开发中,在某些重要的app即使进入后台,产品需求要求也不想被系统杀掉进程,需要app长时间保活,就是app进程保活白名单功能的实现, 所以需要在系统杀进程的时候不杀掉白名单的进程,接下来就看怎么样来实现这些功能

安卓兼职framework和app工程师的博客 3142

Pytorch图像去噪实战(七):Noise2Noise自监督图像去噪实战,没有干净图也能训练模型

PyTorch图像去噪实战:Noise2Noise自监督去噪方法 本文介绍了在没有干净图像的情况下使用Noise2Noise方法进行图像去噪的实战方案。主要内容包括: 问题场景:真实项目中经常只有带噪图像而没有对应的干净图像,如夜间监控、医学影像等场景。 Noise2Noise核心思想:使用同一场景的两张不同噪声版本的图像进行训练(noisy_image_a → noisy_image_b),让模型学习恢复共同的干净结构而非随机噪声。 技术原理:模型通过最小化两个独立噪声图像之间的差异,最终会收敛到真实干净

ai技术增长的博客 500

2025年12月文章一览

2026年的第 1 天,就遇到了中x银行app在7:30-8:00无法登录的破事。其它啥也不说了,祝各位同行技术精进,好好打磨产品,开发出好用的软件,不要折磨用户。不要总说自己遥遥领先,要踏踏实实做人。2025年总计阅读了9本书,其中最满意的是《Grokking Concurrency》,推荐给大家。其它也没啥想说的了,人到中年,不再矫情,也没有狂野的规划,努力工作,过好当下的日子。欢迎搜索及关注:编程人(a_codists)

codists的博客 325

最强游戏投屏串流搭档Sunshine+Moonlight配置方法

因祸得福的是,sunshine作为开源的self-host的服务端,不仅可以代替Novidia的服务端角色,还拓展了moonlight可以服务的主机,非novidia显卡的PC也可以通过这对搭档实现高质量的游戏窜流投屏了。回到moonlight,点击电脑图表,会给你一个Pincode,到Sunshine控制台,菜单点击Pin,输入moonlight给出的pin码。高质量的图像: Moonlight支持高清(HD)和甚至4K分辨率的投屏,同时还提供了对音频的传输支持,确保用户可以享受到高质量的视频和音频。

每日出拳老爷子的博客 1万+

2025年11月文章一览

时间就像一把回旋镖,2018年就买了《Python深度学习》,那时候因为电脑老旧加之工作与人工智能没有太大关系,就把这本书丢在一边了,没想到7年过去了,跌跌撞撞一路走来,工作又和人工智能扯上边了。虽然这本书已经出到第三版了,但既然买了第一版,还是从第一版看起吧,以便对得起我那买书的钱。《Grokking Concurrency》应该算是自己本年度看过最喜欢的一本书,那种想要一直阅读下去的感觉又回来了。本月在读:《Python深度学习》和《Grokking Concurrency》。

codists的博客 294

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

GO语言基础之并发concurrency

并发Concurrency   很多人都是冲着 Go 大肆宣扬的高并发而忍不住跃跃欲试,但其实从源码的解析来看,goroutine 只是由官方实现的超级“线程池”而已。不过话说回来,每个实例 4~5KB的栈内存占用和由于实现机制而大幅减少的创建和销毁开销,是制造 Go 号称的高并发的根本原因。另外,goroutine 的简单易用,也在语言层面上给予了开发者巨大的遍历。   高并发当中...

angzhan5306的博客 141

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

tech-interview-handbook 编码面试课程怎么选:按 Python、Java、JavaScript、C++ 对比时长、价格与内容

如果你在准备编码面试,并且倾向于用结构化的在线课程而不是纯刷题来准备,那么 tech-interview-handbook 仓库中的[课程对比页](https://link.gitcode.com/i/4f88d9d5d5782261136a297381872171)给出了一个可以直接照着筛选的清单:按 Python、Java、JavaScript、C++ 四种语言分别列出课程,并统一给出评分、时

gitblog_00581的博客 456

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

一条广告规则的一生:拆解 AdAway 的 Hosts 数据模型

为什么有的广告就是拦不掉?AdAway 这个开源的 Android 广告拦截应用给出的答案藏在它的数据库设计里:广告拦截要可靠,先得让每条规则的"下载、校验、入库、命中"都有据可查。本文从一条广告规则的全链路切入,把 AdAway 数据库设计背后的数据模型拆开讲清楚。 ## 全链路总览:一条拦截规则的一生 在动手看代码之前,先建立一张全局图。一条广告拦截规则在 AdAway 里要经历五步:

gitblog_00772的博客 857

从0到1:5分钟本地跑起The Delegation 3D AI办公室的完整指南

The Delegation 是一款免代码(no-code)的 3D AI 办公室实验场,让 AI 爱好者、教育工作者和创意开发者无需写一行代码,就能在一个"活"的 3D 办公室里探索、设计并交互 Agentic AI(智能体)系统:由 LLM 驱动的角色会在共享的虚拟工作区里自主协作——它们自主导航到工位坐下、干活、互相讨论,而你只需通过节点式编辑器和看板界面来指挥整个 AI 团队。 [![T

gitblog_01091的博客 493

AI全栈实战 | 3.9-01 爬虫入门:requests 加 BeautifulSoup 三分钟跑通,但 90% 的人栽在这 4 个“礼貌“问题上

⚠️:本文内容仅用于。请遵守目标站点的服务条款与相关法律法规,不得对目标服务造成负担,不得采集、传播个人隐私数据。技术是中性的,边界在你手里。爬虫的入门技术(requests 发请求 + BeautifulSoup 解析)三分钟就能学会。真正区分"会用爬虫"和"会做爬虫的人"的,是这篇我们跑通"请求→解析→存储"的最小闭环,然后重点把"合规与礼貌"这根弦给你绷上。

源码获取 | 运行部署 | 定制二开修改,如果回复不及时请耐心等待,请见谅。 388

从一段视频到可漫游的 4D 有声场景:思路拆解与最小复现手记

只需一段手机视频,你就能生成可"走进去"的 4D 有声场景:转头时狗叫声方向随之变化,走近时声音更清晰。本文拆解 Video-to-4DAVScene 的核心思路,手把手带你用几十行 Python 搭出最小管线,把视频中的运动物体变成带空间位置的声源,并附上三个真实踩坑的排障经验,代码可直接跑。🎧

helloagent的博客 218

Python+Agent入门笔记(二):列表推导式、模块和异常,这些写 Agent 前得会

接上一篇《Python+Agent入门笔记(一)》。基础语法跑通之后,这篇聊几块日常写脚本绕不开的东西。还是按 JS/Go 开发者的视角写,尽量记录我实际卡过的地方。

qq_41241612的博客 430

详解Python条件语句

在 Python 中,if...else 是一种条件语句,可以根据给定的条件执行不同的操作。这个语句通常用于控制程序的流程。

2601_96798737的博客 205

微调数据集构建:清洗、标注、格式转换完整流程

摘要解决微调数据直接抓取导致的噪声污染、模式崩溃与Token错位问题。适用于需为大模型SFT阶段构建高质量训练集的数据与算法工程师。读完可获得包含启发式清洗、MinHash去重及ChatML格式对齐的完整可运行数据流水线。关键词数据清洗、MinHash去重、数据标注、ChatML、SFT数据集、数据配比背景与问题大模型微调效果的上限由数据质量决定,直接使用未经处理的原始语料极易引发模型复读、幻觉与指令遵循能力退化。

2402_85729970的博客 485

Python3 协程:异步编程的核心机制与实战

协程是解决I/O密集型任务等待瓶颈的高效机制,相比线程更轻量、无锁开销。从yield到async/await的演进,使异步编程语义清晰、易于理解。通过async/await可实现并发执行多个任务(如gather、create_task),显著提升网络请求、爬虫等场景性能。关键在于使用异步库(如aiohttp)替代同步库,避免阻塞事件循环。合理控制超时与并发数,才能发挥协程最大优势。

Lxn2zh的博客 159

python如何控制浏览器

Python 可以通过 Selenium、Playwright 等工具实现浏览器自动化,从打开网页到执行复杂交互操作均可脚本化完成。Selenium生态成熟

2601_96797912的博客 75
上一篇: 在 Pycharm 中 debug Scrapy 项目
下一篇: 2025年12月文章一览
codists
博客等级 码龄6年 1488粉丝 377原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值