并发
已收录文章:146篇
-
Go 标准库的一次性双返回值初始化模式,适合把值和错误一起缓存,并让并发调用者共享同一份结果。本文从配置加载与文件读取场景出发,说明它的执行次数、错误传播、panic 行为和不适用边界。156 收藏
-
context.WithoutCancel 会保留父 Context 的 Value,但故意切断 Done、Err、Deadline 和 Cause。本文用 Go 1.21+ 的最小示例说明适用场景、迁移边界与验收方法。344 收藏
-
复用 Go 的 time.Timer 时,Stop 和 Reset 的行为会受到 Go 版本、定时器是否已经到期以及是否存在并发接收的影响。本文用一个超时重试场景拆开旧版本排空规则、Go 1.23 的同步定时器语义和可验证的停机边界。236 收藏
-
Go 的 context.WithCancelCause 能让调用方同时看到 context.Canceled 和真正的取消根因。本文用一个请求链示例拆解取消传播、Cause 读取、父子上下文竞速与错误包装边界。309 收藏
-
Go 定时任务最容易被忽略的问题不是如何触发,而是上一次任务变慢后如何避免下一轮重入。本文比较 Ticker、单次触发和带状态的调度写法,并给出可验证的选型边界。434 收藏
-
context.WithCancel 只能表达主动取消,不能凭空产生超时。本文用一个可运行的 HTTP 调用场景拆开取消传播、deadline 和超时错误的边界,说明如何选择 WithCancel、WithTimeout 与 WithDeadline。132 收藏
-
批量导入时,HashMap 的扩容可能把本来平滑的写入变成一段明显停顿。本文从容量计算、阈值变化和并发边界三个方面还原问题,并给出可验证的初始化与替代方案。156 收藏
-
用一个可复现的 Go 测试示例讲清 testing.T.Cleanup 的注册时机、后进先出顺序、子测试边界和 t.Parallel 下的安全清理方式。298 收藏
-
Python 异步服务需要把 request_id、租户或用户上下文带进子任务时,contextvars 能保持 Task 隔离,但跨线程不会自动复制。本文用可复现的边界检查说明 copy_context、to_thread 与日志关联的正确用法。234 收藏
-
Go 的一次性初始化函数适合把昂贵加载包装成只执行一次的调用,但也会把第一次返回的错误一起缓存。本文用配置加载示例说明并发安全、失败重试和可测试边界。160 收藏
-
文章 · python教程 | 1个月前 | 并发 · python · logging · 故障排查 · 优雅停机 日志丢失 QueueHandler 日志队列 Python QueueListenerPython 用 QueueHandler 把日志交给后台线程后,停机阶段不能只依赖进程退出。本文从日志资产、队列排空、监听器停止和异常收尾四个边界出发,给出一套可复查的优雅停机写法。316 收藏
-
Python 3.14 的 free-threaded 构建可以让线程真正并行,但收益取决于任务类型、共享状态和第三方扩展。本文用可重复的基准测试拆解线程加速、锁竞争和自动启用 GIL 的回退边界。183 收藏