并发
已收录文章:57篇
-
Python 3.14 新增的多解释器线程池能让多个独立解释器在同一进程中并行处理 CPU 密集任务,但它不共享可变对象。本文用一个可验收的小实验检查参数序列化、解释器隔离、异常回收和退出边界,帮助你判断它是否适合现有 Python 服务。308 收藏
-
用一个可复现的 Go 测试示例讲清 testing.T.Cleanup 的注册时机、后进先出顺序、子测试边界和 t.Parallel 下的安全清理方式。298 收藏
-
Golang · Go问答 | 2个月前 | 并发 · 性能优化 · sync.Pool · bytes.Buffer · Go问答 · reset bytes.Buffer 对象复用 Go sync.Pool 数据串行sync.Pool 复用 bytes.Buffer 时,旧内容残留和过早归还都会让响应出现串数据。本文从现象、最小复现到 Reset 与归还时机,给出可直接用于编码响应的安全写法。294 收藏
-
Go 的 time.Timer 不是改一个时间数字那么简单:Reset 前要先处理已经到达的旧事件,重置后还要保证只有一条超时路径能结束本次等待。本文用可复现的请求超时流程说明 Reset、Stop、通道读取和 context 的边界。291 收藏
-
Python 服务在并发升高后,日志格式化和磁盘写入容易挤占请求线程。本文用 QueueHandler 与 QueueListener 拆开日志生产和落盘,比较直接写文件、队列日志两种方案,给出可运行示例、压测口径与优雅退出处理。268 收藏
-
Golang · Go问答 | 1个月前 | 并发 · golang · 错误处理 · Context · Go问答 · Go 错误处理 Go问答 context.WithCancelCause context.Cause context.ErrGo 并发任务被取消时,ctx.Err() 只能告诉你是取消还是超时,context.Cause(ctx) 才能保留业务失败原因。本文用一个可运行的任务链说明 Cause、Err、errors.Is 和错误包装各自负责什么。263 收藏
-
Go 的 context.AfterFunc 适合在上下文取消后触发清理动作,但 Stop 返回 false 时回调可能已经开始或即将开始。本文用超时清理场景说明回调生命周期、竞态窗口、幂等保护和测试验收边界。258 收藏
-
Go 1.26 为 runtime/pprof 增加了实验性的 goroutineleak profile,可以帮助发现因 channel、锁等并发原语永久阻塞的协程。本文用一个提前返回的收集器复现泄漏,说明启用开关、采样方式、误判边界和回滚检查。257 收藏
-
Go 并发测试里大量 time.Sleep 往往又慢又不稳定。Go 1.25 已将 testing/synctest 纳入标准库,可在受控测试环境中使用虚拟时间和 synctest.Wait 检查后台任务的稳定状态。本文用延迟写缓存的例子说明最小迁移方式、适用边界和回归检查。246 收藏
-
Java HttpClient 的 CookieHandler 既能复用会话,也可能让不同账号的请求串 Cookie。本文从共享客户端、并发访问和任务结束三个边界,给出隔离、清理与验证方法。241 收藏
-
Golang · Go教程 | 1个月前 | 并发 · HTTP · go · Context · net/http · HTTP中间件 Go教程 context取消 http.Request.Clone WithContext 请求复制Go 的 http.Request.Clone 和 WithContext 都能得到一份新请求,但复制深度、Header 与 URL 的独立性不同。本文用重试转发和取消场景拆开两者边界,并用测试确认改写不会污染原请求。238 收藏
-
用 Go 1.25+ testing/synctest 测试定时器、异步回调和取消路径,解释 Test、Wait、fake time 的最小用法,以及网络和外部 goroutine 为什么不能直接放进 bubble。238 收藏