首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
Go_error
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
7
文章 7
沸点 0
赞
7
返回
|
搜索文章
最新
热门
Go database/sql 基于临时 channel 传递连接
Go 的 database/sql 包中,连接池的管理是其核心功能之一,其中通过临时创建的 channel 来传递连接的方式是一个非常巧妙的设计。
Go 循环栅栏
CyclicBarrier 循环栅栏 循环栅栏(CyclicBarrier),常常应用于重复进行一组 goroutine 同时执行的场景中。
Go channel 计数信号量
Go 并发设计的一个惯用法就是将带缓冲 channel 用作计数信号量(counting semaphore)。
Go channel 采用最快回应
有时候,一份数据可能同时从多个数据源获取。这些数据源将返回相同的数据。因为各种因素,这些数据源的回应速度参差不一,甚至某个特定数据源的多次回应速度之间也可能相差很大。
Go channel 数据聚合
一个数据聚合模块的工作协程将多个数据流合为一个数据流(就是指有多个源 channel 输入、一个目的 channel 输出的情况)。
Go channel 管道模式
管道模式就是将前面程序的输出数据作为输入数据传递给后面的程序。 在 Go 中管道模式被实现成了由 channel 连接的一条“数据流水线”。
Go channel 创建模式
在稍复杂一些的并发程序中,需要考虑通过 CSP 模型输入/输出原语的承载体 channel 在 goroutine 之间建立联系。
Go 并发控制 Wait & Cancel
Wait 和 Cancel 两种并发控制方式,在使用 Go 开发服务的时候到处都有体现,只要使用了并发就会用到这两种模式。
Go 并发控制 singleflight
singleflight (golang.org/x/sync/singleflight) 提供了重复函数调用抑制机制。 它能够抑制同一时间获取相同数据的重复请求,尤其在解决缓存穿透或重复请求。
Go 并发控制 errgroup.Group
errgroup (golang.org/x/sync/errgroup) 为一组协程 goroutines 在执行共同任务的子任务时,提供同步、错误传播和上下文取消的功能。
下一页
个人成就
文章被点赞
8
文章被阅读
490
掘力值
305
关注了
0
关注者
1
收藏集
0
关注标签
2
加入于
2025-06-16