上示例

package main

import (
// "bytes"
// "encoding/json"
"fmt"
// "os"
// "gopkg.in/mgo.v2"
// "gopkg.in/mgo.v2/bson"
// "io/ioutil"
// "net/http"
// "strings"
// "net/url"
"time"
) func main() {
ticker := time.NewTicker(10 * time.Second)
for i := 0; i < 10; i++ {
time := <-ticker.C
fmt.Println(time.String())
}
}

执行结果

wifimac:webdemo cdpmac$  go run src/server/timetest.go

2015-08-24 16:22:23.590564088 +0800 CST

2015-08-24 16:22:33.591194618 +0800 CST

2015-08-24 16:22:43.587720967 +0800 CST

2015-08-24 16:22:53.590231413 +0800 CST

2015-08-24 16:23:03.591164202 +0800 CST

....

懂的已经不用往下看了。

找不到现成的资料。

看官方包的示例test代码

看go的time部分源码 Ticker结构

type Ticker struct {

C <-chan Time // The channel on which the ticks are delivered.

r runtimeTimer

}

Time也类似

有一个只读的chanel

go的time和ticket的调用

或者叫timmer internal和其他语言的开发思路不一样。

其他语言,多是注册回调函数,定时,时间到了调用回调。

go是 通过 chan

的阻塞实现的。

调用的地方,读取chan

定时,时间到,向chan写入值,阻塞解除,调用函数。

go 的 time ticker 设置定时器的更多相关文章

  1. IOS 设置定时器

    IOS 设置定时器  自动滚动视图 定时发送坐标信息 即时显示 时钟 NSTimer *timer; - (void)start {//1second 调用一次 timer = [NSTimer sc ...

  2. Mysql 查看定时器 打开定时器 设置定时器时间

    1.查看是否开启evevt与开启evevt. 1.1.MySQL evevt功能默认是关闭的,可以使用下面的语句来看evevt的状态,如果是OFF或者0,表示是关闭的. show VARIABLES ...

  3. IOS 设置定时器,执行方法

    //设置定时器(1秒后跳到一下题) [self performSelector:@selector(nextQuestion) withObject:nil afterDelay:1.0];

  4. 6.cocos2d设置定时器

    T1LayerAnchorPoint.h #pragma once #include "cocos2d.h" USING_NS_CC; class T1LayerAnchorPoi ...

  5. 在vue组件中设置定时器和清除定时器

    由于项目中难免会碰到需要实时刷新,无论是获取短信码,还是在支付完成后轮询获取当前最新支付状态,这时就需要用到定时器.但是,定时器如果不及时合理地清除,会造成业务逻辑混乱甚至应用卡死的情况,这个时就需要 ...

  6. mysql创建定时器(event),查看定时器,打开定时器,设置定时器时间

    由于项目需要创建定时器(evevt),所以就百度了一下,发现基本都是来源于一个模板,有些功能还不全,现在自己总结一下. 注:mysql版本是从5.1开始才支持event的.如果你的版本低于5.1就先升 ...

  7. 【JS】jQuery设置定时器,访问服务器(PHP示例)配合微信、支付宝原生支付,跳转web网页

    废话不多说,直接上代码: 把下面的js放在html的</body>即可 <!-- 设置页面定时器,3秒查询一次数据库该订单状态,ok就跳走 --xzz1115> <scr ...

  8. iOS--NSTimer设置定时器的两种方法

    //方法一: //创建定时器 NSTimer *timer=[NSTimer timerWithTimeInterval:2.0 target:self selector:@selector(next ...

  9. SSH框架中 Spring设置定时器 Quartz

    一,首先下载quartz-1.6.0.jar架包,到lib目录下 二,写你自己定时器业务方法 package com.lbnet.lzx.timing; import org.quartz.JobEx ...

随机推荐

  1. Node调试之道-----JSHint

    Node调试之道-----JSHint Node的优势我就不再乱吹捧了,它让javascript统一web的前后台成为了可能.但是对于新手来说,server端的JS代码可能不像client端的代码那么 ...

  2. 获取本机MAC地址

    <%@ page contentType="text/html; charset=GBK" %><html><head><meta htt ...

  3. 【MySQL】探究之常用SQL

    一些SQL命令(不断更新,我总记不住,哭) List 建库建表 表的重命名(不区分大小写) 列的重命名 编码 修改结构 添加删除索引 大批量删除 binlog相关 select相关 数据库备份和恢复 ...

  4. PHP函数getopt详解

    短参数 它返回一个包含命令行参数的数组.比如,要获得-a -b 和-c的值,可以这么做: $arguments = getopt("a:b:c:"); 可以用下面的方式运行脚本(有 ...

  5. loadView、viewDidLoad、initWithCoder、initWithNibName、awakeFromNib的用法

    转载,原地址为:http://jianyu996.blog.163.com/blog/static/11211455520131226840879/ 请尊重原创: 1,无论XIB还是代码创建都会调用l ...

  6. 教你如何在word中像LaTex那样打出漂亮的数学公式

    转载自: http://blog.csdn.net/ibingow/article/details/8613556 记得很久以前在word里打数学公式很痛苦,要用鼠标点啊点,效率奇低,包括像MathT ...

  7. sysbench压力测试工具简介和使用(一)

    sysbench压力测试工具安装和参数介绍 一.sysbench压力测试工具简介: sysbench是一个开源的.模块化的.跨平台的多线程性能测试工具,可以用来进行CPU.内存.磁盘I/O.线程.数据 ...

  8. SQL%NOTFOUND

    异常相关: 源地址:https://zhidao.baidu.com/question/215737667.html EXCEPTIONwhen others thenrollback;dbms_ou ...

  9. 45. Scramble String

    Scramble String Given a string s1, we may represent it as a binary tree by partitioning it to two no ...

  10. JAVA 新手问题: Request 编码编译出错,Unhandled exception type UnsupportedEncodingException

    新手: 编写如下代码 private void Exec(HttpServletRequest Req,HttpServletResponse Response) //throws ServletEx ...