| // +build OMIT | |
| package main | |
| import ( | |
| "fmt" | |
| "math/rand" | |
| "time" | |
| ) | |
| func main() { | |
| start := time.Now() | |
| reset := make(chan bool) | |
| var t *time.Timer | |
| t = time.AfterFunc(randomDuration(), func() { | |
| fmt.Println(time.Now().Sub(start)) | |
| reset <- true | |
| }) | |
| for time.Since(start) < 5*time.Second { | |
| <-reset | |
| t.Reset(randomDuration()) | |
| } | |
| } | |
| func randomDuration() time.Duration { | |
| return time.Duration(rand.Int63n(1e9)) | |
| } |