美文网首页
golang中三种定时器的实现方式及周期定时

golang中三种定时器的实现方式及周期定时

作者: 七八个星天 | 来源:发表于2019-07-23 15:14 被阅读0次

一、定时器的创建

golang中定时器有三种实现方式,分别是time.sleep、time.after、time.Timer
其中time.after和time.Timer需要对通道进行释放才能达到定时的效果

package main

import (
    "fmt"
    "time"
)

func main() {
    /*
        用sleep实现定时器
    */
    fmt.Println(time.Now())
    time.Sleep(time.Second)
    fmt.Println(time.Now())
    /*
        用timer实现定时器
    */
    timer := time.NewTimer(time.Second)
    fmt.Println(<-timer.C)
    /*
        用after实现定时器
    */
    fmt.Println(<-time.After(time.Second))

}

二、定时器的重置与停止

重置定时器timer.Reset(d Duration)
停止定时器timer.Stop()

三、周期定时的实现Tiker

golang中使用Tiker可以实现周期定时的效果

package main

import (
    "fmt"
    "time"
)

func main() {
    tiker := time.NewTicker(time.Second)
    for i := 0; i < 3; i++ {
        fmt.Println(<-tiker.C)
    }
}

相关文章

  • golang中三种定时器的实现方式及周期定时

    一、定时器的创建 golang中定时器有三种实现方式,分别是time.sleep、time.after、time....

  • go语言实现定时器方法

    一、定时器的创建 golang中定时器有三种实现方式,分别是time.sleep、time.after、time....

  • iOS内存管理(1)-CADisplayLink、NSTimer

    iOS中三种定时器CADisplayLink、NSTimer和GCD定时器,我们就详尽的讲解一下三种定时器.在讲解...

  • Golang-基于TimeingWheel定时器

    设计思路 在linux下实现定时器主要有如下方式 基于链表实现定时器 基于排序链表实现定时器 基于最小堆实现定时器...

  • golang timer - note

    Go提供了两种定时器,此处分为一次性定时器、周期性定时器。 一次性定时器:定时器只计时一次,结束便停止; 周期性定...

  • iOS 定时器耗电探究

    iOS开发中的几种定时器 iOS开发中定时器实现方式大致有三种,一种是Timer实现,一种是通过GCD自己创建,另...

  • 定时器-OC

    今天看了一天资料,发现有三种方式可以实现定时器 NSTimer GCD定时器 CADisplayLink NSTi...

  • NSTimer介绍

    定时器是什么? 定时器提供执行延迟动作或周期性动作的方式。 定时器等待直到一定时间间隔过去,然后触发,向指定的对象...

  • swift 定时器

    定时器的两种简单实现方式: 1.timer 2.GCD 上面两种方法以及实现简单的定时器,但是还有一个隐藏的问题,...

  • Java多线程1

    创建多线程的3种方式 1、继承Thread类实现多线程 2、实现Runnable接口方式实现多线程 定时器 线程的...

网友评论

      本文标题:golang中三种定时器的实现方式及周期定时

      本文链接:https://www.haomeiwen.com/subject/ddtalctx.html