巧妙使用channel实现限流器
普通Limiter 特点:无时间限制,只要不超过数量就可通过 // 基于channel阻塞实现 // 缺点:阻塞无时间限制 type ( ChannelLimiter struct { bufferChannel chan golang.PlaceholderType } ) func NewChannelLimiter(limit int) *ChannelLimiter { return &ChannelLimiter{bufferChannel: make(chan golang.PlaceholderType, limit)} } func (l *ChannelLimiter) Allow() bool { select { case l.bufferChannel <- gola...阅读全文