摘要: Ticker是周期性定时器,即周期性的触发一个事件,通过Ticker本身提供的管道将事件传递出去。 定时聚合任务 有时,我们希望把一些任务打包进行批量处理。比如,公交车发车场景: 公交车每隔5分钟发一班,不管是否已坐满乘客; 已坐满乘客情况下,不足5分钟也发车; 下面代码演示公交车发车场景: // 阅读全文
posted @ 2020-03-12 20:19 small_lei_it 阅读(354) 评论(0) 推荐(0) 编辑
摘要: Timer实际上是一种单一事件的定时器,即经过指定的时间后触发一个事件,这个事件通过其本身提供的channel进行通知。之所以叫单一事件,是因为Timer只执行一次就结束,这也是Timer与Ticker的最重要的区别之一。 使用场景 设定超时时间 如: func WaitChannel(conn < 阅读全文
posted @ 2020-03-12 19:53 small_lei_it 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 先看一个小例子: func main() { a := make([]int, 2, 2) a[0], a[1] = 1, 2 b := append(a[0:1], 3) c := append(a[1:2], 4) fmt.Println(b,c) } 在这个小例子中,原本是希望将a[0:1]作 阅读全文
posted @ 2020-03-12 16:04 small_lei_it 阅读(294) 评论(0) 推荐(0) 编辑