欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

[Go] golang定时器的使用

程序员文章站 2022-07-02 12:48:37
golang中的定时器是使用的chanel阻塞来实现的,主要使用到了time包中的内容,如果有多个定时器的channel,为了防止阻塞,可以使用select来获取遍历channel 定时器获取的channel是个单通道channel,只能读不能写,定义时这样来定义var test <-chan in ......

golang中的定时器是使用的chanel阻塞来实现的,主要使用到了time包中的内容,如果有多个定时器的channel,为了防止阻塞,可以使用select来获取遍历channel

定时器获取的channel是个单通道channel,只能读不能写,定义时这样来定义var test <-chan int

package main

import (
    "fmt"
    "time"
)

func main() {
    t := time.newticker(time.second)
    t1 := time.newticker(time.second * 2)
    for {
        select {
        case v := <-t.c:
            fmt.println("hello", v)
        case v := <-t1.c:
            fmt.println("tsh", v)
        }
    }

    // var test <-chan int
    // <-test
}