支持首次触发的 Go Ticker

打印 上一主题 下一主题

主题 918|帖子 918|积分 2754

促使我写这篇文章主要是在写一个关于虚拟货币账户监控的项目时使用 Ticker 的问题。
Ticker 的问题

如果用过 Ticker 的朋友会知道,创建 Ticker 后并不会马上执行,而是会等待一个时间 d,这就是创建时的间隔时间。如果间隔时间很短这基本上不会有太大问题,但是如果对首次执行时间有要求,就会很麻烦。例如以下这个案例:
[code]package mainimport (        "fmt"        "sync"        "time")func main() {        ts := time.NewTicker(5 * time.Second)        fmt.Println("start_time#", time.Now().Unix())        chanClose := make(chan struct{})        var wg sync.WaitGroup        wg.Add(1)        go func() {                defer wg.Done()                for {                        select {                        case
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

自由的羽毛

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表