ticker的间隔

 ticker的间隔会随着ticker触发的代码而延长
package main

import (

    "log"

    "time"

)

var count int

func main() {

    ticker := time.NewTicker(time.Second * 1)

    for _ = range ticker.C {

        count++

        log.Println(count, " ticker")

        work_long()

    }

}

func work_long() {

    time.Sleep(time.Second * 5)

    count++

    log.Println(count, " work_long")

}

如果想ticker按照固定的间隔来执行, 那么ticker触发的代码必须使用新的goroutine, 否则ticker的间隔会被延长.

如果你的工作只想不间断执行, 那么就继续使用原来的goroutine即可. 

你可能感兴趣的:(c)