golang实现令牌桶限流效果代码
代码语言:golang
所属分类:其他
代码描述:golang实现令牌桶限流效果代码,使用了golang.org/x/time/rate包,每秒产生一定的令牌,获取令牌即可执行,未获取返回。
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
package main import ( "context" "log" "time" "golang.org/x/time/rate" ) func main() { //TODO limit每秒产生Token数量,burst最多存放Token数量 limit := rate.Every(time.Second * 1) limiter := rate.NewLimiter(limit, 5) log.Println(limiter.Limit(), limiter.Burst()) for i := 0; i < 10; i++ { //TODO 阻塞等待,直到获取一个Token log.Println("before wait") c, _ := context.WithTimeout(context.Background(), time.Second*2) .........完整代码请登录后点击上方下载按钮下载查看
网友评论0