并发编程
已收录文章:91篇
-
从一次 Spring Boot 虚拟线程升级复盘讲起,拆解 JDK 21/23 与 24/25 下 synchronized pinning 的差异、JFR 诊断步骤、代码改造和上线检查清单。472 收藏
-
用固定 worker 数量和任务队列控制后台并发,避免任务高峰拖垮进程。472 收藏
-
从一个 Go 请求卡住的现场出发,演示如何通过最小复现、堆栈观察和锁路径梳理,定位 Mutex 忘记 Unlock 的问题,并用 defer 解锁和边界检查修复。471 收藏
-
Golang · Go问答 | 3个月前 | golang · 并发编程 · bytes.Buffer · 内存管理 · Go问答 · bytes reset bytes.Buffer Go内存 切片别名Go 里把 bytes.Buffer.Bytes() 返回的切片保存下来,再复用 Buffer 写下一条消息,旧数据为什么会跟着变化?关键在于 Bytes 返回的是底层数组视图,不是独立副本。本文用消息编码场景说明 Reset、切片别名、Clone 拷贝和并发边界,给出可复查的安全写法。470 收藏
-
梳理 sync.Pool 的适用边界和误用风险,用对象复用降低高频临时分配。467 收藏
-
用批量处理任务场景讲清楚 Go worker pool 的实现方式:任务进入 jobs channel,固定数量 goroutine 消费任务,结果统一写入 results channel,并通过 close 和 WaitGroup 安全收尾。459 收藏
-
设计有上限、有退避、有幂等保护的重试策略。456 收藏
-
Golang · Go问答 | 3个月前 | WaitGroup · golang · goroutine · 并发编程 · Go问答 · Goroutine 并发 WaitGroup Go 1.25 sync.WaitGroup.Go Add DoneGo 1.25 为 sync.WaitGroup 增加了 Go 方法,常见的 Add、go func、defer Done 三段式可以收成一次调用。它能减少计数配对遗漏,却不会替业务处理 panic、取消或结果收集。本文用批量写入场景解释最小写法、和旧写法的边界差异、版本兼容与复用 WaitGroup 时容易忽略的顺序。448 收藏
-
用限流、有界队列、worker 和降级保护接口 P99,而不是只追求峰值 QPS。446 收藏
-
文章 · java教程 | 4个月前 | 并发编程 · 生产实践 · Java教程 · 虚拟线程 · 虚拟线程 Java 25 JEP 505 Structured Concurrency StructuredTaskScope从 Spring Boot 聚合接口超时治理出发,讲清 Java 25 Structured Concurrency 预览 API 的适用边界、取消语义、代码改造和上线检查。443 收藏
-
从真实 Go HTTP 接口突增流量讲起,拆解 x/time/rate 的 token bucket、Allow/Wait(ctx)、Burst、按用户分桶、429 降级、指标观测和上线检查,避免把限流写成全局 sleep 或无效摆设。441 收藏
-
编辑器保存配置时常用临时文件写入再重命名,Go 文件监听器看到的可能是多次事件而不是一次保存。本文用事件合并、稳定快照读取和重试窗口处理原子替换,避免读到半个文件,也避免漏掉真正的更新。439 收藏