Golang
碧落&凡尘
欢迎大家一起交流探讨!
展开
-
Golang基于消息订阅的信道
1. 实现了消息信道2. 信道可关闭, 发送消息前, 可通过获取信道状态决定发送到哪条信道通过这种方法, 可以实现消息在上云和存本地之间灵活切换, 如果网络或者其它原因导致不能上云, 可切换至本地存储, 待上云通道恢复后, 则可有本地重新发布至上云信道信道代码:package EventBusimport "sync"type DataEvent struct { Data interface{} Topic string}type DataChannel chan D原创 2022-05-20 19:06:36 · 292 阅读 · 0 评论 -
Golang实现可延时、可限制大小的队列
type Queue struct { content []string Timeout int // timeout为0为无限延时, 小于0为不延时, 大于0为延时timeout秒 MaxSize int // 队列容量, 小于或等于0为不限量,不限量时延时无效,大于0且到达上限时则开始延时}var lock = sync.Mutex{}// 超过设定延时时间后, 元素会被抛弃...原创 2020-04-01 14:42:28 · 1190 阅读 · 0 评论