go语言定时器

[plain]  view plain copy
  1. package main  
  2.   
  3. import "fmt"  
  4. import "time"  
  5.   
  6. func main() {  
  7.         t := time.NewTimer(2 * time.Second)  
  8.         //v := <- t.C   
  9.         //fmt.Println(v)  
  10.         go onTime(t.C)  
  11.         fmt.Println("main thread")  
  12.         time.Sleep(10 * time.Second)  
  13.   
  14. }  
  15.   
  16. func onTime(c <-chan time.Time) {  
  17.         for now := range c {   
  18.                 // now := <- c  
  19.                 fmt.Println("onTime", now)  
  20.         }     
  21. }  



[plain]  view plain copy
  1. package main  
  2.   
  3. import "fmt"  
  4. import "time"  
  5.   
  6. func main() {  
  7.     time.AfterFunc(5 * time.Second, f1)  
  8.     time.AfterFunc(2 * time.Second, f2)  
  9.     fmt.Println("main thread")  
  10.     time.Sleep(10 * time.Second)  
  11. }  
  12.   
  13.   
  14. func f1() {  
  15.     fmt.Println("f1 done !")  
  16. }  
  17.   
  18. func f2() {  
  19.     fmt.Println("f2 done !")  
  20. }  


[plain]  view plain copy
  1. package main  
  2.   
  3. import "fmt"  
  4. import "time"  
  5.   
  6. var count int = 0  
  7.   
  8. func main() {  
  9.     t := time.Tick(2 * time.Second)  
  10.   
  11.     i := 0  
  12.     for now := range t {  
  13.         fmt.Println(now, doSomething())  
  14.         i++  
  15.         if i > 10 {  
  16.             break  
  17.         }  
  18.     }  
  19. }  
  20.   
  21. func doSomething() int {  
  22.     count++  
  23.     return count  
  24. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值