加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Golang之wait.Until 简单测试用例

发布时间:2020-12-16 19:16:35 所属栏目:大数据 来源:网络整理
导读:测试目的,验证wait.Until的用法 //测试wait.Until() 的用途package mainimport ( "fmt" "k8s.io/apimachinery/pkg/util/wait" "time")type stop struct {}func main() { stopCh := make(chan struct{}) //初始化一个计数器 i := 0 go wait.Until(func() { f

测试目的,验证wait.Until的用法

//测试wait.Until() 的用途
package main

import (
    "fmt"
    "k8s.io/apimachinery/pkg/util/wait"
    "time"
)

type stop struct {
}

func main() {
    stopCh := make(chan struct{})
    //初始化一个计数器
    i := 0
    go wait.Until(func() {
        fmt.Printf("----%d----n",i)

        i++
    },time.Second,stopCh)

    time.Sleep(time.Second * 10)

    stopCh <- stop{}
    // 下面的形式,也是可以的
    //stopCh < struct {
    //}{}

    fmt.Println("---上面的go routines 结束----")

    // 主程序,再休息3秒钟,再结束
    time.Sleep(time.Second * 3)

    fmt.Println("---主程序结束----")
}

总结:

就是启动一个协程,每隔一定的时间,就去运行声明的匿名函数,直到接收到结束信号 就关闭这个协程

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读