并发编程
已收录文章:63篇
-
Golang · Go问答 | 4天前 | channel · 并发编程 · Go问答 · 背压 · 容量规划 · Goroutine channel 缓冲区 背压 Go问答 buffered channel 并发容量Go channel 缓冲区不是越大越好。容量越大只能延后阻塞,不能提升消费者处理能力;高并发场景要按到达速率、处理耗时、可接受延迟和背压策略一起定。377 收藏
-
Golang · Go问答 | 5天前 | go · Context · 并发编程 · 接口超时 · 超时控制 goroutine泄漏 WithTimeout Go context Go问答 CancelFunc从接口超时、下游取消和 goroutine 泄漏治理角度,解释 Go context 的使用价值、风险边界、采用路径和观察指标。477 收藏
-
回答 Go 并发读写 map 应该选 map+RWMutex、sync.Map 还是分片 map,按读写比例、热点键、维护成本和扩展性给出选择规则与代码示例。244 收藏
-
从一个 Go 请求卡住的现场出发,演示如何通过最小复现、堆栈观察和锁路径梳理,定位 Mutex 忘记 Unlock 的问题,并用 defer 解锁和边界检查修复。471 收藏
-
从 goroutine 数量持续上涨的现象出发,用 pprof、runtime 指标、阻塞栈和 context 取消链路逐层定位泄漏原因,并给出修复与反向验证清单。392 收藏
-
本文用问答方式解释 Go map 并发读写为什么会 panic,并给出从场景判断、锁保护、sync.Map、channel 单写到压测检查的完整选型流程。368 收藏
-
Golang · Go教程 | 2星期前 | WaitGroup · channel · 并发编程 · 优雅关闭 · Go教程 · WaitGroup Channel关闭 Go channel 并发收尾 done信号本文把 Go channel 关闭拆成一套可复用工作流:先确定谁负责关闭,再用 done 信号通知停止,用 WaitGroup 等待协程收尾,最后关闭结果通道并验证没有 panic 和泄漏。165 收藏
-
Golang · Go教程 | 2星期前 | errgroup · go · Context · 并发编程 · SetLimit · Go 并发任务 errgroup SetLimit context取消Go 后端经常需要并发查询多份数据。本文按完整工作流拆解 errgroup.WithContext、错误取消、SetLimit 控制并发、互斥收集结果和 Wait 统一检查,避免任务失控。301 收藏
-
用批量处理任务场景讲清楚 Go worker pool 的实现方式:任务进入 jobs channel,固定数量 goroutine 消费任务,结果统一写入 results channel,并通过 close 和 WaitGroup 安全收尾。459 收藏
-
通过一个 Go map 并发读写 panic 案例,解释普通 map 为什么不是并发安全的,并对比 RWMutex、sync.Map、分片 map 和 channel 拥有者模式的适用场景。109 收藏
-
通过一个接口任务堆积案例,讲清 Java 线程池核心参数、有界队列、拒绝策略和监控指标,帮助服务避免内存暴涨和请求雪崩。143 收藏
-
整理 Go 性能优化上线前的基准、压测、监控、灰度和回滚检查点。530 收藏